Linux 修改用户
前面小节介绍了如何添加 Linux 系统用户、删除 Linux 系统用户,本小节介绍如何修改 Linux 系统用户相关的信息。
1. 用户修改相关命令
下面列举了一些修改用户信息相关的命令:
| 命令名称 | 功能与作用描述 |
|---|---|
| usermod | 修改用户的字段值,并且可以指定用户的组和其他所属的关系 |
| passwd | 修改已经存在的用户的密码 |
| chpasswd | 读取文件中登录名密码对,更新密码 |
| chage | 修改用户密码过期日期 |
| chfn | 修改用户的备注信息 |
| chsh | 修改用户默认登录的 shell |
2. usermod 修改用户信息
2.1 usermod 命令参数介绍
下面列举了一些 usermod 命令参数作用:
| usermod 命令参数名称 | 功能与作用描述 |
|---|---|
| -l | 修改用户的登录名 |
| -L | 禁止指定用户登录 |
| -p | 将加密过的密码 (PASSWORD) 设为新密码 |
| -U | 使禁用的用户能够登录 |
2.2 修改用户名
下面演示一下 -l 和 -U 参数修改 test_linux 用户的用户名,然后使其能够登录,命令如下:
usermod -l new_linux test_linux
执行结果如下图:

3. 修改密码
3.1 passwd 修改密码
为了下面演示方便,使用 useradd 新增几个用户,并使用 passwd 命令修改这些新增用户的密码,命令如下:
useradd user_name01
passwd user_name01
useradd user_name02
passwd user_name02
useradd user_name03
passwd user_name03
useradd user_name04
passwd user_name04
执行结果如下图:

3.2 chpasswd 批量修改密码
首先使用 vim 命令新建好批量需要修改的用户名密码对,命令如下:
vim /home/user_pwd.txt
执行结果和需要修改的密码内容如下图:

使用 chpasswd 命令批量修改用户的密码,命令如下:
chpasswd < /home/user_pwd.txt
执行结果如下图:

4. 修改用户默认 shell
这里以 user_name01 用户为例,修改其默认 shell,命令如下:
cat /etc/shells
chsh -s /bin/sh user_name01
执行结果如下图:

5.修改用户备注
5.1 chfn 修改用户备注信息
可以给用户备注 名称、办公、办公电话、住宅电话,命令如下:
su root
chfn user_name01
执行结果如下图:

5.2 查看用户备注信息
可以在 /etc/passwd 文件查看上述备注的用户信息,命令如下:
grep user_name02 /etc/passwd
执行结果如下图:

6. 用户有效期
6.1 chage 命令
下面列举了一些 chage 命令参数作用:
| chage 命令参数名称 | 功能与作用描述 |
|---|---|
| -d | 表示 --lastday 最近日期,将最近一次密码设置时间设为 最近日期 |
| -E | 表示 --expiredate 过期日期,将帐户过期时间设为 过期日期 |
| -I | 表示 --inactive INACTIVE,过期 INACTIVE 天数后,设定密码为失效状态 |
| -l | 表示 --list,显示帐户年龄信息 |
| -m | 表示 --mindays 最小天数,将两次改变密码之间相距的最小天数设为 最小天数 |
| -W | 表示 --warndays 警告天数,将过期警告天数设为 警告天数 |
6.2 设置密码过期的日期
使用 chage -E 可以设置用户过期日期,命令如下:
grep user_name02 /etc/shadow
chage -E 2020-05-30 user_name02
grep user_name02 /etc/shadow
执行结果如下图:

7. 小结
本小节介绍了修改用户相关信息的命令,其中 usermod 命令配合参数可以修改用户的用户名,passwd 命令可以修改单个用户密码,chpasswd 命令可以批量修改文件中列表出来的用户密码,chsh 命令可以修改用户默认登录使用的 shell,chfn 命令可以修改用户的备注信息,chage 命令可以修改用户过期天数相关的配置。