以:隔开,相应的字段含义如下:
用户名: 密码 : uid : gid :用户描述:家目录:登陆shell
其中密码都加了密,并存放在/etc/shadow文件中了。
head -n 4 /etc/shadow | sed 4a$(tail -1 /etc/shadow) #需要root权限,取前4行及最后一行
root:$6$v3gjfoY7$oKrVCSFnLQFiUlEbEdZn.t9PVZ0NgSV/6AmfarNrZp8BkWdIzYi1lb0fwQtb73/mo83z9jem2OSJLX6EU3EmR/:15847:0:99999:7:::
daemon:*:14728:0:99999:7:::
bin:*:14728:0:99999:7:::
sys:*:14728:0:99999:7:::
rose:$6$tDmg2PPz$7a.qIV9dToZtTomvLnQitMWEGNLDW1ZjMQmadjE5iXeNGsUrTy4q5UEP8UVBAzqFcKOlSScBRwg0/wkks15dq/:15848:0:7:7:15849:15851:
各字段的含义如下:
登录名:加密口令:最后一次修改时间:密码保留最短时间:密码过期的时间:密码过期前警告的天数:过期后的宽限天数:帐号失效时间:保留字段
1)“登录名”是与/etc/passwd文件中的登录名相一致的用户账号
2)“口令”字段存放的是加密后的用户口令字,如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合{./0-9A-Za-z}中的字符,则对应的用户不能登录。
3)“最后一次修改时间”以从某个时刻起,到用户最后一次修改口令时的天数来表示。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。
4)“密码保留最短天数” :在这几天内不得需要密码,若为0表示随时可以修改。
5)“密码过期天数” :从上次修改密码的日期算起,过了x天后,密码就过期了,注意过期不一定就不能登录了,还要看第七个属性判断。
6)“密码过期前警告的天数” :密码过期前x天都会提示你修改密码。
7)“过期后的宽限天数” 密码过期那天算起,在x天内还可以登录,但系统强制你修改密码,如果为0,密码一旦过期了就直接失效,不能再登录了。
8)“帐号过期时间” 过了这时间后,帐号被禁用。以1970-01-01以日期到结束日期的天数来表示。
具体含义及修改命令如下表:
含义 | 相应修改命令 | 备注 | |||
1 | 登录名 | ||||
2 | 加密口令 | passwd | |||
3 | 最后一次修改时间 | Last password change | –lastday | chage -d 2013-05-25 userName | 也可用从1970-01-01算起的天数表示 如chage -d 15845 userName |
4 | 密码保留最短天数 | Minimum number of days between password change | –mindays | chage -m 2 | |
5 | 密码过期天数 | Maximum number of days between password change | –maxdays | chage -M 10 | |
6 | 密码失效前警告的天数 | Number of days of warning before password expires | –warndays | chage -W 7 | |
7 | 过期后的宽限天数 | set password inactive after expiration to INACTIVE | –inactive | chage -I 5 | |
8 | 帐号过期时间 | Account expires | –expiredate | chage -E 2013-06-10 userName | 也可用从1970-01-01算起的天数表示 |
9 | 保留字段 | - | - |
chage -l 可以列出帐户的过期信息