/etc
系统配置文件
/etc/passwd
用户信息,配置文件每一行表示一个用户信息,用“:”分隔用户信息
- 第一列为账户名称
- 第二列为密码占位符(x表示该账户需要密码才能登录,为空时,账户无须密码即可登录)
- 第三列为账户UID
- 第四列为GID
- 第五列为账户附加基本信息,一般存储账户名全称,联系方式等信息
- 第六列为账户家目录位置
- 第七列为账户登录Shell,/bin/bash为可登录系统Shell,/sbin/nologin表示账户无法登录系统。
/etc/shadow
用户安全信息,与/etc/passwd中的用户行一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生
- 第一列为账户名称
- 第二列为密码(账户未设置密码时为!!,设置密码后加密显示)
- 如果格式为 “$id$salt$hashed“,则表示该用户密码正常。其中$id$的id表示密码的加密算法,
$1$
表示使用MD5算法$2a$
表示使用Blowfish算法$2y$
是另一算法长度的Blowfish,$5$
表示SHA-256算法$6$
表示SHA-512算法
- 如下图,root用户使用的MD5算法,通过以上规则可以用
openssl
验证root密码,openssl passwd -1 "root用户密码"
openssl passwd -1 -salt "slat" "root用户密码"
,经验证,生成结果与密码列一致
- 如果格式为 “$id$salt$hashed“,则表示该用户密码正常。其中$id$的id表示密码的加密算法,
- 第三列为上次修改密码的时间距离1970年01月01日多少天
- 第四列为密码最短有效天数,0表示无限制
- 第五列为密码最长有效天数(默认位99999天,可以理解为永不过期)
- 第六列为密码过期后的宽限天数(密码过期后,预留几天给账号修改密码,此时已无法使用旧密码登录)
- 第八列为账户失效日期(从1970年01月01日起多少天后账户失效)
- 第九列暂时保留未使用。