deu*_*ger 23 security login pam
默认情况下,在 RHEL 5.5 上我有
[deuberger@saleen trunk]$ sudo cat /etc/securetty
console
vc/1
vc/2
vc/3
vc/4
vc/5
vc/6
vc/7
vc/8
vc/9
vc/10
vc/11
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11
Run Code Online (Sandbox Code Playgroud)
什么是每个条目类型之间的差异(console,vc/*,和tty*)?具体来说,添加和删除每个条目类型的最终结果是什么?
我的理解是它们会影响您登录的方式和时间,但还有其他影响吗?什么时候可以登录,什么时候不能登录取决于有哪些条目?
编辑 1
我所知道的是,这tty1-6对应于您是否可以从使用Ctrl- Alt-F1到Ctrl- Alt-到达的前 6 个控制台登录F6。我一直以为那些是虚拟控制台,所以我有点困惑。和什么console对应?
谢谢。
编辑 2
如果有的话,在单用户模式下会产生什么影响?
deu*_*ger 41
/etc/securetty由pam_securetty模块咨询以决定允许从哪个虚拟终端 ( tty*)root登录。
过去,/etc/securetty由程序login直接咨询,但现在 PAM 处理。因此,更改/etc/securetty将影响使用 PAM 和使用pam_securetty.so. 因此,login默认情况下只有程序受到影响。
/etc/pam.d/login用于本地登录和/etc/pam.d/remote用于远程登录(如 telnet)。
主要条目类型及其影响如下:
/etc/securetty不存在,root则允许从任何登录tty/etc/securetty存在且为空,则root访问将被限制为单用户模式或不受限制的程序pam_securetty(即su, sudo, ssh, scp, sftp)devfs(用于处理的已弃用文件系统/dev),添加表单条目vc/[0-9]*将允许从给定的虚拟控制台编号进行 root 登录。udev(用于动态设备管理和替换devfs),添加表单条目tty[0-9]*将允许从给定的虚拟控制台编号进行 root 登录。console中/etc/securetty通常具有由于没有作用/dev/console点到当前控制台,并且通常只用作tty在单用户模式的文件名,它是由未受影响/etc/securettypts/[0-9]*将允许使用伪终端 ( pty) 的pam_securetty程序登录并root假设分配的pty是列出的条目之一;不包含这些条目通常是个好主意,因为它存在安全风险;例如,它允许某人通过 telnet 登录到 root,它以明文形式发送密码(请注意,这是 RHEL 5.5 中使用pts/[0-9]*的格式udev;如果使用devfs或其他某种形式的设备管理会有所不同)。对于单用户模式,/etc/securetty不咨询,因为sulogin使用 代替login(sulogin有关更多信息,请参阅手册页)。您也可以更改/etc/inittab用于每个运行级别的登录程序。
请注意,你不应该使用/etc/securetty来控制root通过登录ssh。为此,请更改PermitRootLoginin的值/etc/ssh/sshd_config。默认情况下/etc/pam.d/sshd未配置为咨询pam_securetty(因此/etc/securetty)。您可以添加一行来执行此操作,但直到舞台之后的某个时间才ssh设置实际值,因此它无法按预期工作。在和阶段 - 至少对于- ( ) 被硬编码为.ttyauthauthaccountopensshttyPAM_TTYssh
以上答案基于 RHEL 5.5。其中大部分内容与其他 *nix 系统的当前发行版有关,但存在差异,我注意到了其中一些,但并非全部。
我自己回答了这个问题,因为其他答案不完整和/或不准确。许多其他论坛、博客等在线也有关于此主题的不准确和不完整的信息,因此我进行了广泛的研究和测试以尝试获得正确的详细信息。如果我说的有任何错误,请尽管告诉我。
资料来源:
vc/X和ttyX是同义词:相同设备的不同路径。冗余的目的是捕捉各种情况,以免将您锁定。
传统上,login(可能getty,我记不清了)会检查/etc/securetty并拒绝root未列出的终端上的登录。在现代系统上,还有其他方法可以做到这一点,也有其他安全措施。查看 的内容/etc/login.defs(也涵盖了securetty的功能并由securetty(5)联机帮助页推荐),以及/etc/pam.d/login,您可以在其中控制此功能的行为。
由于securetty仅由 进行检查login,因此不使用的登录方式login(例如 SSH 和use_login=noX 显示管理器等)不受影响。
| 归档时间: |
|
| 查看次数: |
62784 次 |
| 最近记录: |