- /etc/passwd 各字段的含义
man 5 passwd
· login name
· optional encrypted password ;如果是x,则对应的密码必须存在于/etc/shadow;否则认为账户无效
;也可以直接是加密的密码
· numerical user ID
· numerical group ID
· user name or comment field
· user home directory ;Login程序把$HOME 设置成它
· optional user command interpreter ;此处可以是/usr/sbin/nologin 或/bin/false防止登录
- 为什么要有/etc/shadow?
/etc/passwd 是所有人有read权限的, 所以就算 "密码字段" 是加密的,也可能被人破解,所以密码通常放在/etc/shadow中
- 为什么/etc/passwd被设为所有人都可读?
当你运行 ls 程序的时候,ls 从filesystem中读到的文件的归属信息是 uid:gid 。是 "数字" 而不是"名字"。需要利用 /etc/passwd得到映射后的 名字。 还有其他类似的程序也要利用passwd 做 id->name 转化