### 账号设置密码
#### 原则
- Linux的账户必须设置密码后,才能登录系统
#### 格式
```bash
passwd - 参数 账户名
```
#### 参数
```bash
-d:清空指定用户的口令,与未设置口令的账户不同,未设置口令的账户无法登录系统,而口令为空的账户可以。
-e:使用户的账号密码立即过期,强迫用户下次登录时必须修改口令。
-i:口令过期后多少天停用账户。
-l:锁定(停用)用户账户。
-n:指定口令的最短存活期。
-x:指定密码的最长使用期限。
-u:解锁用户账户。
```
#### 示例
- 例1:设置root账户密码
```bash
[root@server ~]# passwd root
更改用户 root 的密码 。
新的密码:
无效的密码: 密码少于 8 个字符
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
```
- 例2:为上例test2、test4设置密码
- 例3:锁定账户test2,尝试登录
```bash
[root@server ~]# passwd -l test2
```
#### 注意
- 密码不能为空
- 密码不要写成回文
- 可以使用以下命令设置密码
```bash
echo 密码 | passwd --stdin 用户名
```
```bash
echo 密码 | passwd --stdin 用户名 > /dev/null # 无信息提示
```
- 只有 root 用户才能指定用户名
```bash
[root@server ~]# useradd test5
[root@server ~]# passwd test5
更改用户 test5 的密码 。
新的密码:
无效的密码: 密码少于 8 个字符
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
[root@server ~]# su test5
[test5@server root]$ passwd test5
passwd:只有 root 户才能指定用户名。
```