/etc/shadow 文件第二个字段中的“x”是什么意思

/etc/shadow 文件第二个字段中的“x”是什么意思

我的影子文件中有内容:

root:!:17777::::::
bin:x:14871::::::
daemon:x:14871::::::
mail:x:14871::::::
ftp:x:14871::::::
http:x:14871::::::
dbus:x:14871::::::
nobody:x:14871::::::
systemd-journal-gateway:x:14871::::::
systemd-timesync:x:14871::::::
systemd-network:x:14871::::::
systemd-bus-proxy:x:14871::::::
systemd-resolve:x:14871::::::
systemd-journal-remote:!!:17635::::::
systemd-coredump:!!:17635::::::
uuidd:!!:17635::::::
dnsmasq:!!:17635::::::
rpc:!!:17635::::::
ntp:!:17635:0:99999:7:::
usbmux:!:17635:0:99999:7:::
avahi:!!:17635::::::
colord:!!:17635::::::
cups:!!:17635::::::
git:!!:17635::::::
lightdm:!!:17635::::::
nm-openconnect:!!:17635::::::
nm-openvpn:!!:17635::::::
polkitd:!!:17635::::::
rtkit:!!:17635::::::
qwerty:$6$4b0Rmzt4U9I6zbhV$zWtNjLeqSYTOrWagic0L10PSNwVuOTCcWD:17802:0:99999:7:::
gluster:!!:17798::::::
minidlna:!!:17818::::::
acestream:!:17861:0:99999:7:::
postgres:!:17892:0:99999:7:::
pgbouncer:!:17892::::::
geoclue:!!:17946::::::

我看到这个问题——* 和 ! 是什么意思?在 /etc/shadow 的第二个字段?。但没有解释影子文件的第二个字段中的“x”是什么。

我看到这个问题——/etc/group中第二个字段的含义是什么?。我不确定哪些文件/etc/group具有/etc/shadow相同的约定。

答案1

标准文档man shadow应安装在您的系统上。在我的 Debian 系统上它是这样解释的:

该文件的每一行包含 9 个字段,用冒号 (" ") 分隔:,顺序如下:

登录名

它必须是系统上存在的有效帐户名。

加密密码

crypt有关如何解释该字符串的详细信息,请参阅(3)。

如果密码字段中包含一些不是crypt(3)的有效结果的字符串,例如!*,则用户将无法使用unix密码登录(但用户可以通过其他方式登录系统)。

该字段可能为空,在这种情况下,不需要密码即可作为指定的登录名进行身份验证。但是,/etc/shadow如果密码字段为空,某些读取该文件的应用程序可能会决定根本不允许任何访问。

以感叹号开头的密码字段表示密码已锁定。该行的其余字符代表密码被锁定之前的密码字段。

[...]

在您的情况下,x第二个字段中的 对应于“某些字符串不是crypt(3)的有效结果” 在上面的文档摘录中。

答案2

x不是哈希密码,因此它的存在会禁用该用户名登录

这 !在 root 上具有相同的效果,但可以使用 删除它usermod

空密码列允许无需密码登录,因此需要这些填充符号。

相关内容