Linux中用户的密码存放位置?
时间:2020-01-09 10:44:13 来源:igfitidea点击:
Linux操作系统中用户的密码存放在什么位置?
/etc/passwd是存储每个用户帐户的密码文件。
/etc/shadow文件存储中包含用户帐户的密码信息和可选的老化信息。
/etc/group文件是一个文本文件,用于定义系统上的组。
每行只有一个条目。
Linux中用户的密码其中?
加密的密码和其他信息(例如密码到期信息(密码过期信息))存储在/etc/shadow文件中。
所有字段都用冒号(:)分隔。
对于/etc/passwd文件中列出的每个用户,它每行包含一个条目。
通常,影子文件条目如下所示:
/etc/shadow文件点击放大
顺序如下:
- 用户名:这是您的登录名。
Password
:这是您的加密密码。密码长度至少为8-12个字符,包括特殊字符,数字,小写字母等。通常密码格式设置为$id $salt $hashed
,$id是在GNU/Linux上使用的算法,如下所示:$1 $是MD5。- $2a $ Blowfish
- $2y $ Blowfish
- $5 $是SHA-256
- $6 $是SHA-512
- "上次密码更改(最后更改)":自1970年1月1日以来最后一次更改密码的天数
Minimum
:两次更改密码之间所需的最少天数,即允许用户更改其密码之前剩余的天数Maximum
:密码有效的最大天数(在该用户被迫更改其密码之后)- 警告:密码到期前的天数,警告用户必须更改其密码
- "无效":密码过期后,该帐户被禁用的天数
Expire
:自1970年1月1日起已禁用该帐户的天数,即一个绝对日期,指定何时不再使用登录名。
如何查看/etc/shadow文件的内容
普通用户无法直接访问/etc/shadow文件。
例如,尝试以下cat命令:
$ cat /etc/shadow
输出示例:
cat: /etc/shadow: Permission denied
您只能通过一些命令(例如passwd命令)访问/etc/shadow文件。
以root用户身份登录并在/etc/shadow文件上执行cat命令:
$ su
出现提示时提供root用户密码:
Password:
尝试显示文件:
# cat /etc/shadow
输出示例:
root: $s83Ugoff$EDT83WAAFpCQHWDp07E9Ux:0:99999:7::: daemon:*:13031:0:99999:7::: bin:*:13031:0:99999:7:::
清空/etc/shadow中的每个条目分为以下几个字段:
- 登录名
- 加密密码
- 自1970年1月1日以来,密码最后一次更改的天数
- 密码更改前几天
- 必须更改密码的天数
- 密码到期前几天会警告用户
- 密码过期后的几天内,该帐户已被禁用
- 自1970年1月1日以来该帐户已禁用的天数
当然,您可以使用sudo命令,如下所示:
$ sudo cat /etc/shadow
或者grep命令和sudo一起:
$ sudo cat /etc/shadow | grep Hyman
请注意,FreeBSD使用/etc/master.shadow文件。
getent命令
要从名称服务交换机库获取条目,请使用getent命令。
语法为:
getent database key getent [option] database key
数据库可以其中:
- passwd读取用户帐户信息。
- 阴影读取用户密码信息。
- 组读取组信息。
- key可以是用户名/组名。
例子
getent passwd getnet passwd Hyman getent group getent group Hyman sudo getent shadow sudo getent shadow Hyman