![rhel configure:限制 root 直接登录系统,除非通过系统控制台](https://linux22.com/image/527425/rhel%20configure%EF%BC%9A%E9%99%90%E5%88%B6%20root%20%E7%9B%B4%E6%8E%A5%E7%99%BB%E5%BD%95%E7%B3%BB%E7%BB%9F%EF%BC%8C%E9%99%A4%E9%9D%9E%E9%80%9A%E8%BF%87%E7%B3%BB%E7%BB%9F%E6%8E%A7%E5%88%B6%E5%8F%B0.png)
我必须配置以限制 root 直接访问系统控制台以外的内容。也就是说,telnet、ftp 的方式,SSH都被禁止。Root 只能通过控制台登录。我明白这需要我配置文件 /etc/securetty。我必须注释掉所有 tty,只需在 /etc/securetty 中保留“console”即可。
但是从谷歌上,我发现很多人说配置/etc/securetty不会限制SSH登录。
从我的实验中,我发现是的。(配置/etc/securetty不会限制SSH登录)。
我在 /etc/pam.d/system-auth 中添加了一行:
auth required pam_securetty
似乎根SSH可以禁止登录。
但我找不到原因:配置 pam_securetty 和 /etc/securetty 有什么区别?有人能帮我吗?只配置 /etc/securetty 就可以了?还是我必须同时配置 pam_securetty?非常感谢!
答案1
pam_securetty 是一个 PAM 模块,仅当用户在“安全”tty 上登录时才允许 root 登录,如 /etc/securetty 中的列表所定义。pam_securetty 还会检查以确保 /etc/securetty 是一个纯文本文件并且不是所有人都可写的。
telnet 和 ftp 调用 login,并且你可能已经有了 /etc/pam.d/login,其中包括 pam_securetty