如何在不阻止 root 的情况下阻止普通用户通过串行控制台(`ttyS0`)登录?

如何在不阻止 root 的情况下阻止普通用户通过串行控制台(`ttyS0`)登录?

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,或者使用 成为 root sudo -i。这意味着在串行控制台上以 root 身份登录是不可能的,并且应该保持这种状态。
  • 您提到普通用户不应该访问 ttyS0。如果是这种情况,那么最好根本不要使用 ttyS0。 (这没有好坏之分,只是一种选择)

如果您想要 root 登录而不只是sudo以防万一您的设备/home损坏,那么您可能还会遇到其他一些问题。在这种情况下,我建议从实时介质启动,这样您也可以给自己所有必要的权限来解决问题。

相关内容