我的 Linux 有许多非人类用户,例如cron
、ntp
、daemon
、http
等。我想禁止任何人以任何此类用户身份登录。我的机器上的真实用户是 root 和我,因此只有 root 和我应该能够登录。
/etc/passwd
对于文件中定义为 shell 的非人类用户/bin/false
,但我读过它不保护通过 SSH 登录等。
passwd -l
也不保护通过 SSH 登录(正如该男子所说)。
有解决办法吗?
答案1
系统帐户应该已经被锁定,通过将其密码散列设置为无效的(我在我的 中x
看到)。没有密码进入他们的帐户的唯一方法(据我所知)是使用密钥对身份验证的 ssh (这是不可能的,除非在其主目录中有写权限的人将公钥放入他们的),您可以使用 Alex 的配置来防止这种情况遥远的可能性;并使用root 身份获得 shell。如果任何人能够获得 root 权限,这种可能性是无法避免的。但如果他们确实拥有 root 权限,那么您最不需要担心的是守护程序帐户。!
/etc/shadow
~/.ssh/authorized_keys
AllowUsers
su
su
答案2
以 root 身份编辑 /etc/ssh/sshd_config。找到“AllowUsers”选项并将其更改为您的用户名。
不允许 root 通过 SSH 登录。