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 命令可以修改用户默认登录使用的 shellchfn 命令可以修改用户的备注信息,chage 命令可以修改用户过期天数相关的配置。