ttyS0
如何在不阻止 root 的情况下阻止 Ubuntu/Redhat 上的普通用户通过串行控制台 ( ) 登录?
只有 root 需要控制台访问权限,其他用户不需要。
我已经清除了/etc/securetty
,有人可以建议正确的方法吗?
答案1
我建议使用 PAM 来设置这些限制。最有可能的是,您有一个名为 /etc/pam.d/login 的文件,该文件由运行在 ttyS0 上的 getty 生成的登录进程使用。
它可能包含通用身份验证文件之一,因此您可以阻止其中 uid > 0 的任何内容。
您还可以使用 pam_access访问配置文件限制 ttyS0 只能使用 root。
答案2
首先需要清理一些东西,以便我们能够到达正确的解决方案而不是您想要做的事情:
- 在现代 Linux 发行版上,您不再有 root 密码。
虽然这听起来可能很安全,但事实并非如此。相反,您可以使用 root 身份运行命令sudo command
,或者使用 成为 rootsudo -i
。这意味着在串行控制台上以 root 身份登录是不可能的,并且应该保持这种状态。 - 您提到普通用户不应该访问 ttyS0。如果是这种情况,那么最好根本不要使用 ttyS0。 (这没有好坏之分,只是一种选择)
如果您想要 root 登录而不只是sudo
以防万一您的设备/home
损坏,那么您可能还会遇到其他一些问题。在这种情况下,我建议从实时介质启动,这样您也可以给自己所有必要的权限来解决问题。