前言
作为全栈人员,对于Linux的账号密码管理也要熟知
下述文章直奔主题,直接讲解知识点
1. 基本知识
修改密码、查看密码哈希值、管理密码到期时间等
用户的密码和相关信息主要存储在两个文件中:
-
/etc/passwd
:存储用户的基本信息,包括用户名、用户ID(UID)、组ID(GID)、用户目录、登录Shell等。这个文件是可读的,但不存储密码 -
/etc/shadow
:存储用户的密码哈希值、密码有效期、到期日期等信息
这个文件只有root用户可以访问
用户密码的哈希加密
密码加密:Linux系统不直接存储用户密码,而是将其通过哈希算法加密后存储在/etc/shadow文件中
常见的哈希算法:
$1$
:MD5加密$5$
:SHA-256加密$6$
:SHA-512加密
2. 命令行
常见命令及作用
命令行 | 作用 |
---|---|
passwd | 修改当前用户的密码 |
passwd username | 修改指定用户的密码(需要root权限) |
sudo passwd username | 使用sudo权限修改指定用户的密码 |
sudo cat /etc/shadow | 查看存储用户密码哈希值的/etc/shadow文件内容(需要root权限) |
passwd -l username | 锁定指定用户的账号,禁止该用户登录 |
passwd -u username | 解锁指定用户的账号,允许该用户登录 |
passwd -e username | 强制指定用户在下次登录时更改密码 |
chage -M 90 username | 设置指定用户密码的有效期为90天 |
chage -l username | 查看指定用户的密码到期信息 |