阻止用户(或组)登录的方法

阻止用户(或组)登录的方法

阻止用户登录服务器的唯一方法是将用户 shell 设置为 /dev/null?

答案1

另一种方法passwd -l是使用passwd -d并删除用户密码。

答案2

同意 ironchef 的观点,使用 AllowUsers 或 AllowGroups 或者 DenyUsers 或 DenyGroups 配置你的 sshd 可能是一个很好的解决方案,具体取决于你具体想要完成的任务。

关于设置拒绝 shell 的选项。如果您有 /sbin/nologin 可用,则可能比 /dev/null 或 /bin/false 更可取。使用 /sbin/nologin 基本上具有相同的效果(非零退出),但额外的好处是用户会收到一条有关登录被禁用的简短消息。

既然你似乎想保留这个帐户,我猜你可能用它们来做别的事情?根据具体情况,锁定帐户可能是个好主意,也可能不是。

正如前面所述,请让人们知道您正在尝试解决什么问题等等。通常您可以通过这种方式获得更好的建议。

答案3

我想问一下你想做什么,以便得到更好的想法。为了方便起见,如果你只允许 ssh 作为访问方法,你可以使用 AllowUser 来限制谁可以登录(只有明确在 AllowUser 中的用户才会被 sshd 允许登录)。

答案4

Pam_access 提供了一种很好的方法来限制对部分用户的访问。查看“man pam_access”了解更多详细信息。必须修改 pam 配置。大多数配置都在 /etc/security/access.conf 中进行。此模块在限制特定用户或属于特定组的用户的访问方面非常灵活。这些限制可以应用于所有服务,也可以仅应用于特定服务,具体取决于 pam_access 在 pam 中包含的位置。

实际上,我甚至运行了两个单独的 access.conf 类文件,一个用于 shell 访问,另一个用于 ftp/rcp 访问。Pam_access 允许我们为各种协议维护单独的策略。这种灵活性的缺点是配置有点复杂,这可能是不必要的。

相关内容