了解/etc/shadow文件
时间:2020-01-09 10:43:56 来源:igfitidea点击:
您能解释在Linux或者类似UNIX的系统中使用的/etc/shadow文件格式吗?
"/etc/shadow"文件以加密格式(更像是密码的哈希)存储用户帐户的实际密码,并具有与用户密码相关的其他属性。
基本上,它存储安全的用户帐户信息。
所有字段都用冒号(:)分隔。
对于/etc/passwd文件中列出的每个用户,它每行包含一个条目。
/etc/shadow文件字段
- 用户名:这是您的登录名。
Password
:这是您的加密密码。密码长度至少为8-12个字符,包括特殊字符,数字,小写字母等。通常,密码格式设置为$id $salt $hashed
,$id
是GNU/Linux上使用的算法,如下所示:- $1 $是MD5
- $2a $``是河豚
- $2y $``是河豚
- $5 $是SHA-256
- $6 $是SHA-512
- 上次密码更改(最后一次更改):自1970年1月1日以来,密码最后一次更改的天数
Minimum
:两次更改密码之间所需的最少天数,即允许用户更改其密码之前剩余的天数Maximum
:密码有效的最大天数(在该用户被迫更改其密码之后)- 警告:密码到期前的天数,警告用户必须更改其密码
- "无效":密码过期后,该帐户被禁用的天数
Expire
:自1970年1月1日起已禁用该帐户的天数,即一个绝对日期,指定何时不再使用登录名。
后6个字段提供密码时效和帐户锁定功能。
您需要使用chage命令来设置密码时效。
根据阴影的手册页,必须填写密码字段。
加密的密码由64字符字母a至z,A至Z,0至9,\中的13至24个字符组成。
和 /。
(可选)它可以以$字符开头。
这意味着加密的密码是使用其他(不是DES)算法生成的。
例如,如果它以$1 $开头,则表示使用了基于MD5的算法。
请注意,以感叹号(`!)开头的密码字段表示该密码已被锁定。
该行上的其余字符代表密码被锁定之前的密码字段。
如何更改密码?
使用以下语法来更改您自己的密码:
$ passwd
有关更多信息,请参见passwd命令教程页面。
如何更改其他用户的密码?
您必须是root用户才能更改所有其他用户的密码:
# passwd userNameHere
或者
$ sudo passwd userNameHere
如何更改或者设置密码过期信息?
要更改用户密码的有效期信息,请在Linux上使用chage命令。
语法如下(同样,您必须是root用户才能再次设置密码),如下所示:
chage username chage [options] username chage Hyman chage -l tom
选项如下:
-d, --lastday LAST_DAY set date of last password change to LAST_DAY -E, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE -h, --help display this help message and exit -I, --inactive INACTIVE set password inactive after expiration to INACTIVE -l, --list show account aging information -m, --mindays MIN_DAYS set minimum number of days before password change to MIN_DAYS -M, --maxdays MAX_DAYS set maximim number of days before password change to MAX_DAYS -R, --root CHROOT_DIR directory to chroot into -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS
如何验证密码文件的完整性?
使用pwck命令验证用户和身份验证信息的完整性。
它检查/etc/passwd和/etc/shadow中的所有条目是否具有正确的格式并包含有效数据。
提示用户删除格式不正确或者具有其他不可纠正错误的条目。
语法为:
pwck -r /etc/passwd sudo pwck -r /etc/shadow sudo pwck -r /etc/passwd /etc/shadow pwck [options] /etc/shadow
选项如下:
-b, --badnames allow bad names -h, --help display this help message and exit -q, --quiet report errors only -r, --read-only display errors and warnings but do not change files -R, --root CHROOT_DIR directory to chroot into -s, --sort sort entries by UID