云网牛站
所在位置:首页 > 初入Linux圈 > 掌握Linux系统中的/etc/shadow文件格式和输入示例

掌握Linux系统中的/etc/shadow文件格式和输入示例

2019-12-28 09:44:51作者:曼画月稿源:云网牛站

在Linux操作系统上可以使用几种不同的身份验证方案,最常用和标准的方案是对/etc/passwd和/etc/shadow文件执行身份验证,/etc/shadow是一个文本文件,其中包含有关系统用户密码的信息,它由用户root和group shadow拥有,并具有640个权限。

掌握Linux系统中的/etc/shadow文件格式和输入示例

 

/etc/shadow格式

/etc/shadow文件每行包含一个条目,每个条目代表一个用户帐户,您可以使用文本编辑器或诸如cat之类的命令查看文件的内容:

sudo cat /etc/shadow

通常,第一行描述根用户,然后是Linux系统用户和普通用户帐户,新条目将附加在文件末尾。

/etc/shadow文件的每一行都包含九个逗号分隔的字段,如下图:

掌握Linux系统中的/etc/shadow文件格式和输入示例

1、Username–登录系统时输入的字符串,系统上存在的用户帐户。

2、Encrypted Password–密码使用$type$salt$hashed格式,$type是方法加密哈希算法,可以具有以下值:

$1$–MD5

$2a$–Blowfish

$2y$–Eksblowfish

$5$–SHA-256

$6$–SHA-512

如果密码字段包含星号(*)或感叹号(!),则用户将无法使用密码身份验证登录到系统,仍然允许使用其他登录方法,例如基于密钥的身份验证或切换到用户。

在较旧的Linux系统中,用户的加密密码存储在/etc/passwd文件中。

3、Last password change–这是上次更改密码的日期,从1970年1月1日(纪元日期)开始计算天数。

4、Minimum password age–可以更改用户密码之前必须经过的天数,通常将其设置为零,这意味着没有最低密码期限。

5、Maximum password age–必须更改用户密码后的天数,默认情况下,此数字设置为99999。

6、Warning period–密码过期前的天数,在此期间,系统会警告用户必须更改密码。

7、Inactivity period–用户密码过期后,禁用用户帐户之前的天数,通常,此字段为空。

8、Expiration date–帐户被禁用的日期,它表示为一个纪元日期。

9、Unused–该字段被忽略,它保留供将来使用。

注:除非您知道自己在做什么,否则不要手动编辑/etc/shadow文件,始终使用专门为此目的设计的命令,例如,要更改用户密码,请使用passwd命令,而要更改密码时效信息,请使用chage命令,参考用passwd及chage命令让用户在下次登录Linux时更换密码一文。

 

输入示例

让我们看下面的例子:

ywnz:$6$zHvrJMa5Y690smbQ$z5zdL...:18009:0:120:7:14::

上面的条目包含有关用户“ywnz”密码的信息:

密码使用SHA-512加密(密码被截断以提高可读性)。

密码最后一次更改是在2019年4月23日-18009。

没有最低密码年龄。

密码必须至少每120天更改一次。

用户将在密码到期日期前七天收到警告消息。

如果用户在密码过期后的14天之内未尝试登录系统,则该帐户将被禁用。

没有帐户过期日期。

 

结论

Linux系统中的/etc/shadow文件保留有关加密用户密码以及其他与密码有关信息的记录,了解上面的/etc/shadow文件格式和输入示例有助于你全面的掌握它。

 

相关主题

使用passwd、usermod命令在Linux中锁定和解锁用户帐户

子频道
精选文章
热门文章