我的影子文件中有内容:
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
。
空密码列允许无需密码登录,因此需要这些填充符号。