passwd和shadow这两个文件保存了linux用户的信息,passwd为所有用户可读,而shadow只有root用户可读写,这是因为shadow文件保存了用户的敏感信息,如密码,密码有效时间等。
passwd文件每行的格式如下:
username:password:uid:gid:comment:shell
username:用户名
passwd:密码,都为x,真正的密码经过加密后保存到shadow文件中。
uid:用户id
gid:用户组id
comment:用户的基本信息,如电话,地址,公司等。
shell:该用户用于解析命令的shell程序
shadow文件每行的格式如下:
username:password:last_modify_days:min_modify_days:max_modify_days:warning_expired_days:disabled_after_expired_day:expired_day:reserved
username:用户名
password:加密后的密码,如果为*,则该用户不能登陆
last_modify_days:1970年1月1日到上次修改口令之间的天数
min_modify_days:两次修改口令间隔最少的天数
max_modify_days:两次修改口令间隔最多的天数
warning_expired_days:提前多少天警告用户口令将过期
disabled_after_expired_day:在口令过期后多少天禁用该用户.意思就是说,当密码失效后,你还可以用这个密码在 n 天内进行登入并修改密码
expired_day:用户过期日期,从1970年1月1日算起的天数
reserved:预留段
如果修改了passwd文件,可以使用pwconv命令来同步passwd与shadow文件。
命令行相关工具:
passwd:修改用户密码
su:切换用户
group和gshadow这两个文件保存了linux用户组信息,group为所有用户可读,而gshadow只有root用户可读写,这是因为gshadow文件保存了用户组的敏感信息,如密码等。
group文件每行的格式:
gname:gpassword:gid:gusers
gname:用户组名
gpassword:用户组密码,都为x,真正的密码经过加密后保存到gshadow文件中。
gid:用户组id
gusers:用户组下的用户,以","分隔
gshadow文件每行的格式:
gname:gpassword:gadministrator:gusers
gname:用户组名
gpassword:加密后的密码
gadministrator:用户组管理员id,以","分隔,可以为空
gusers:用户组下的用户,以","分隔
如果修改了group文件,可以使用grpconv命令同步group与gshadow文件
命令行相关工具:
gpasswd:修改用户组密码,用户组添加或删除用户
newgrp:切换用户组
关于linux用户管理可参考下面两个文档:
http://fedora.linuxsir.org/main/?q=node/91
http://hi.baidu.com/hack1015/item/9360810de8be0490a2df434c