linux /etc/shadow中的密码部分中的“!”和“*”是什么意思?[关闭]

py49o6xq  于 2023-06-05  发布在  Linux
关注(0)|答案(3)|浏览(722)

**已关闭。**此问题不符合Stack Overflow guidelines。目前不接受答复。

这个问题似乎不是关于a specific programming problem, a software algorithm, or software tools primarily used by programmers的。如果你认为这个问题与another Stack Exchange site的主题有关,你可以留下评论,解释在哪里可以回答这个问题。
8年前关闭。
Improve this question
在/etc/shadow文件中,它看起来如下所示。

root:!:15764:0:99999:7:::
daemon:*:15749:0:99999:7:::

这些字符(“!“和“*”)表示在密码部分?

pobjuy32

pobjuy321#

man shadow

If the password field contains some string that is not a valid
   result of crypt(3), for instance ! or *, the user will not be able
   to use a unix password to log in (but the user may log in the
   system by other means).

   This field may be empty, in which case no passwords are required to
   authenticate as the specified login name. However, some
   applications which read the /etc/shadow file may decide not to
   permit any access at all if the password field is empty.

   A password field which starts with a exclamation mark means that
   the password is locked. The remaining characters on the line
   represent the password field before the password was locked.

所以*意味着没有密码可以用来访问帐户,而!意味着它被锁定了

w51jfk4q

w51jfk4q2#

从手册页shadow(5)
加密口令
有关如何解释此字符串的详细信息,请参阅crypt(3)。
如果密码字段包含一些不是crypt(3)的有效结果的字符串,**例如!*,则用户将无法使用UNIX密码登录(但用户可以通过其他方式登录系统)。
此字段可以为空,在这种情况下,不需要密码即可验证为指定的登录名。但是,如果密码字段为空,一些读取/etc/shadow文件的应用程序可能决定根本不允许任何访问。
此外,程序passwd(参见passwd(1))可以通过在密码前加上!来锁定以创建这些锁定帐户:

  • 我,-锁
    锁定指定帐户的密码。此选项通过将密码更改为与任何可能的加密值不匹配的值来禁用密码(它添加了一个'!'在密码的开头)。
noj0wjuj

noj0wjuj3#

也许,!是具有root权限的帐户,而*是用于守护进程的。另外,!*表示用户将无法使用Unix/Linux密码登录。换句话说,用户登录将被禁用。更多信息:http://www.cyberciti.biz/faq/understanding-etcshadow-file/

相关问题