你在想的!
,*
还是x
这里有着特殊的意义,因此令人担忧,有可能是它们之间的一些区别。
事实是,选择这些字符仅仅是因为它们脱颖而出,至少在西方人眼中如此。这些字符表示缺少值,异常情况或警告。您可以将其放在boogabooga
此处并获得完全相同的效果。
这是因为在Unix类型的系统上处理密码的方式。当系统收到密码输入时,它会对其进行哈希处理并将其与存储的哈希进行比较。因此,这里重要的是您使用了某些字符或字符序列,这些字符或字符序列不可能是有效的密码哈希。(出于明显的原因,它也不得包含冒号。)
尽管从核心操作系统的角度来看,这些字符之间没有区别,但还是有一些约定:
当Linux pwconv(8)
程序看到时x
,将其表示为“我已经将该公共密码哈希移动到影子密码文件中”。
在实践中,这并不是一个重要的案例,因为现在转换为影子密码(或从天堂帮助您)的时代已经过去。
如果使用usermod -L
或passwd -l
锁定用户,则!
具有特殊含义,/etc/shadow
因为这是“破坏此哈希值,因此不再匹配”的约定。
将任何其他字符添加到存储的哈希中也会破坏它。违反此约定只是防止usermod -U
或passwd -u
从解锁用户的登录。同样正确的是,由于您是通过添加伪造字符来手动锁定它的,因此您可以通过移除它来手动解锁它。
然而,关于这个问题,所有这些只是琐事。没有groupmod -L
或gpasswd -l
因此没有!
约定/etc/group
。
更多琐事:如果你是用手工将锁定用户帐户,则应该从远离[A-Za-z0-9/\]
集,这是因为它们的散列合法字符。这是usermod
使用!
此处而不是的原因之一x
。
我认为所有/etc/group
密码字段都正常化没有任何问题,如果这样做会使您感觉更好。这样一来,您已经说过要手动处理这些文件是很高兴的,因此无论如何您可能都不喜欢使用那些关心区别的工具。无论如何,更改不会影响日常的系统操作。
*
?