linux-详细解析密码文件passwd与shadow

来源:互联网 发布:北京数据恢复东北旺 编辑:程序博客网 时间:2024/04/30 04:22

输入命令:head -n 4 /etc/passwd

输出:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh

以:隔开,相应的字段含义如下:

用户名: 密码 : 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--lastdaychage -d 2013-05-25 userName也可用从1970-01-01算起的天数表示
如chage -d 15845 userName 4 密码保留最短天数Minimum number of days between password change--mindayschage -m 2  5 密码过期天数Maximum number of days between password change--maxdayschage -M 10  6 密码失效前警告的天数Number of days of warning before password expires--warndayschage -W 7  7 过期后的宽限天数set password inactive after expiration to INACTIVE--inactivechage -I 5  8 帐号过期时间Account expires--expiredatechage -E 2013-06-10 userName也可用从1970-01-01算起的天数表示 9保留字段 -- 

chage -l 可以列出帐户的过期信息



原创粉丝点击