linux – 启用kerberos时在本地锁定用户的帐户

我正在尝试为一组具有以下特征的计算机设置Chef管理的帐户:

>如果没有本地帐户,则会阻止登录.
>如果存在具有SSH密钥的本地帐户,则可以使用这些帐户进行身份验证.
>如果存在具有本地密码的本地帐户,则使用该密码进行身份验证.
>如果存在没有本地密码的本地帐户,则使用Kerberos.

我有那么多工作.

但我想要做的最后一件事是通过本地锁定密码来禁用帐户登录(例如使用usermod -L).问题是当本地密码被锁定时,PAM将回退到Kerberos …并允许访问.

有没有办法配置PAM,以便如果存在本地密码但它被锁定,它将不会尝试Kerberos?

到目前为止,我能想到的最好的方法是通过用不可思议的东西破解本地密码来锁定帐户.但这有点粗糙,如果有人不“遵循程序”,就不会发挥出色……

解决方法

我同意Michael Hampton的评论 – 你可以而且应该使用Kerberos来做到这一点.但是如果你想通过改变本地机器上的东西来做到这一点,那么这是一个应该有效的解决方案.

在sshd_config中,添加该行

DenyGroups blocked

创建一个名为“已阻止”的组.锁定用户的本地密码时,还要将它们添加到“已阻止”组中.

警告!这是一个非常丑陋的kludge,不应该存在于一个理智的世界.但是,它可能对我们所居住的人有用.

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...