这个Red Hat 官方页面提供了一些模糊的提示。
由于 /etc/securetty 列出了许多可能的设备,因此大多数情况下的实际效果是默认允许,因此此更改只有很小的影响。但是,如果您使用更严格的配置,则需要在 /etc/pam.d 目录中的相应文件中添加一行启用 pam_securetty.so 模块,并创建一个新的 /etc/securetty 文件。
似乎没有更简洁的方法来允许无密码串行控制台访问。
此页面提供了一个运行良好的解决方案,但我不禁想知道是否有更简单的方法。
这个Red Hat 官方页面提供了一些模糊的提示。
由于 /etc/securetty 列出了许多可能的设备,因此大多数情况下的实际效果是默认允许,因此此更改只有很小的影响。但是,如果您使用更严格的配置,则需要在 /etc/pam.d 目录中的相应文件中添加一行启用 pam_securetty.so 模块,并创建一个新的 /etc/securetty 文件。
似乎没有更简洁的方法来允许无密码串行控制台访问。
此页面提供了一个运行良好的解决方案,但我不禁想知道是否有更简单的方法。
以 CentOS 8 的当前状态,我不这么认为。
问题在于,从串行端口进行的传统 Unix 登录涉及两个组件:
getty
初始化端口设置并提示输入用户名的login
过程,以及提示输入密码、检查密码并启动用户会话的过程。编写 RHEL/CentOS SELinux 规则时考虑到了这一点。您可以通过将
agetty
和的组合替换为login
同时完成这两项工作的其他方法,并调整 PAM 和 SELinux 配置以匹配来简化配置自动登录,但您会发现这比列出的三个简单步骤要复杂得多在您提供的链接中。配置自动登录在安全性方面是一项非常重要的操作,因此它通常应该是一个多步骤的过程,因此不太可能意外完成。如果您发现自己经常这样做,那么没有什么可以阻止您使用您选择的工具(例如,只是一个脚本,或者可能是 Ansible 之类的工具)来自动化它。
我对缺乏更清洁的方法也有类似的担忧,因此我不得不提出与链接问题中提供的不同的解决方案。
console=ttyS0
或console=hvc0
。然后您不需要将串行控制台附加到/etc/securetty
,如pam_securetty(8)中所述:/etc/pam.d/login
应该有pam_securetty
模块:systemctl edit [email protected]
并用自动登录替换传递给登录-o '-p -- \\u'
的参数: