如何允许用户使用“su -
用户“但阻止用户使用 SSH 登录?
我尝试设置 shell/bin/false
但是当我尝试时su
它不起作用。
是否有几种方法可以仅允许登录su
?
SSH 是AllowUser
可行的方法吗?(如果这是可行的方法,我该怎么做)
答案1
您可以使用允许用户/允许群组如果你只有少数用户/组被允许通过 ssh 登录或拒绝用户/拒绝群组如果你只有少数用户/组不是允许登录。请注意,这仅限制通过 ssh 登录,其他登录方式(控制台、ftp 等)仍然可行。您需要将这些选项添加到您的/etc/ssh/sshd_config适用于大多数 ssh 安装的文件。
如果您已将登录 shell 设置为/bin/false你可以使用su -s /bin/bash user
(替换/bin/bash带有您选择的外壳)
答案2
如果您仍希望 su 正常工作,可以使用sudo -u [username]
或传递-s /bin/bash
给 su 作为临时 shell。在没有 shell 的情况下,它们的作用相同/etc/passwd
。
答案3
如果帐户没有密码(密码-d 用户名),他们无法以交互方式登录(控制台、SSH 等)。如果他们有有效的 shell,苏仍将有效。但请注意“交互式”;如果有人决定为该帐户设置 SSH 密钥对,它就会起作用!
答案4
除了上面提到的(禁用和/或不设置用户密码)之外,pam_access 模块(查找 pam_access 和 access.conf 的手册页)可用于控制登录访问。