Linux文件-/etc/shadow

作用

用来保存用户密码的相关信息。

范例

root:$6$U9Im4/RKkksdf...7oV3g5S2DVdsjfPGf1:18306:0:99999:7:::
bin:*:17110:0:99999:7:::
daemon:*:17110:0:99999:7:::
adm:*:17110:0:99999:7:::
lp:*:17110:0:99999:7:::

分析

以“:”分隔,共有九个字段。

【用户名;密码;最近修改密码的日期;密码不可被修改的天数;密码需要重新修改的天数;密码需要修改期限前的警告天数;密码过期后账号宽限时间;账号失效日期;保留】

密码

被编码的密码。通过一些加密算法得出。

若没有设置密码或密码过期,则会显示为”!!”。若是不可登录账号,则会显示“*”。

星号代表帐号被锁定,双叹号表示这个密码已经过期了。

密码的格式为:$id$salt$encrypted

$id用来指定使用的算法

IDMethod
1MD5
2aBlowfish(not in mainline glibc;added in some Linux distribution)
5SHA-256(since glibc 2.7)
6SHA-512(since glibc 2.7)

$salt是一个最多16个字符的随机生成的字符串,用来增加破解难度。

$encrypted就是通过加密算法和salt算出来的密文。

最近修改密码的日期

以天为单位,从1970年1月1日开始计算。

如1971年1月1日则表示为数字366。

密码不可被修改的天数

如果为0则表示密码可以被修改。

如果设置为10则表示当密码设置后,10天内都无法再修改密码。

密码需要重新修改的天数

默认为99999,为273年,表示对密码修改无要求。

必需在这个设置的天数内重置密码,否则密码将会变为【过期特性】。

密码需要修改期限前的警告天数

当账号密码有效期快到的时候,系统会根据这个字段的数值,发出【警告】信息给该账号。提醒用户密码快到期了。

密码过期后的账号宽限时间(密码失效日)

这里并不是指原来的密码还可以继续登入系统,而是在登录系统后,系统会强制要求你修改密码。这是【密码过期】的意义。

而【密码失效】指的是,该密码无法登入系统了。

账号失效日期

这个字段通常会用在【收费服务】的系统中,可以规定一个账号的使用期限。

友好界面

首先是,将数字日期显示为正常的日期。可查看【date】。

awk '
  BEGIN{
    FS=":"
    printf "UName                PW Creation   Fixed  Fresh Warning Inactive Expire\n" 
  }
  {
    "date -d '\''1970/1/1 +"$3" day'\'' +%Y/%m/%d"|getline d
    printf "%-20s %2s %10s %-6s %-5s %-7s %-8s %-10s\n",$1,substr($2,1,2),d,$4,$5,$6,$7,$8
  }
' /etc/shadow
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值