/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow这四个配置文件用于系统帐号管理,都是文本文件,可用vim等文本编辑器打开。 /etc/passwd用于存放用户帐号信息,/etc/shadow 用于存放每个用户加密的密码,/etc/group用于存放用户的组信息,/etc/gshadow用来存放用户组加密后的密码。
/etc/passwd文件用于存放用户账户信息,每行代表一个账户,每个账户的各项信息用冒号分割,例如:
root:x:0:0:root:/root:/bin/bash
username:password:uid:gid:allname:homedir:shell
用户名。
密码,“x”代表密码存储在/etc/shadow中;当该值为其他任意非“x”值时,可以通过root用户切换(不需要密码),但是都无法通过非root用户切换到相应用户,因为无法获得起密码了。
uid,用户id,0~499保留给系统使用,500~65535保留给用户使用。
gid,主用户组id,0~499保留给系统使用,500~65535保留给用户使用。用户组id是在/etc/group中分配给特定用户组的。
allname,用户名全称,没有特别的用处。
homedir,根目录。
默认的脚本执行程序,如/bin/bash。
/etc/shadow用于存放各个用户加密后的密码,每行代表一个用户,如
root:!:14859:0:99999:7:::
username:password:last_change:min_change:max_change:warm:failed_expire:expiration:reserved
用户名。
加密后的密码,当密码为空时,可以通过root用户切换(不需要密码),但是都无法通过非root用户切换到相应用户,“!”“*”都只是被视为加密后的普通文本,没有其他特殊含义。
上一次修改的时间,值是从1970年1月1日到现在的日期差。
密码至少经过min_change天才能被再次修改。
最多经过max_change天,密码必须修改一次。
当距离max_change还有warm天时,系统会开始警告,要求你在warm天内修改密码。
在过了max_change天之后还没修改密码的话,再经过failed_expire天,原密码就无法登录了。
expiration代表该账户的有效期限。
reserved,保留位,当前还不知道放什么好。
/etc/group中存放用户组信息,每行代表一个用户组,如
root:x:0:
groupname:password:gid:members
用户组名。
密码,使用方法类似于/etc/passwd,只是其查找密码的文件为/etc/gshadow。
gid,该用户组的id。
该用户组包含的用户,以该用户组为主用户组的用户不会在members中。
/etc/gshadow中存放用户组的密码,每行代表一个用户组,如
groupname:password:admin_users:members
用户组名。
密码,使用方法类似于/etc/shadow。
用户组管理员用户,可以为逗号分隔的列表。
该用户组包含的用户,以该用户组为主用户组的用户不会在members中。