Linux基本功系列之usermod命令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基本功系列之usermod命令相关的知识,希望对你有一定的参考价值。
1. 命令概述
使用useradd添加的用户,如果不小心添加错了用户信息该如何修改呢?
这时候就会用到usermod 命令
usermod命令用于修改用户账号 。usermod可用来修改用户账号的各项设定,修改系统账号文件来反映通过命令行指定的变化。
这里一定要分清 useradd 命令和 usermod 命令的区别,前者用于添加用户,当然,添加用户时可以对用户信息进行定制;后者针对与已存在的用户,使用该命令可以修改它们的信息。
2. 命令格式
用法:usermod [参数] 用户名
usermod的参数和useradd的参数大同小异,这里我们可以使用 usermod --help来查看常用的命令参数选项:
3.常用选项
[root@doc ~]# usermod --help
从上面的执行代码中可以看到,有很多参数与usermod相同,比如 -g 参数,指的是更换新的熟组。
4. 参考示例
4.1 修改用户的UID
## 创建测试用户
[root@mufenggrow ~]# useradd oracle
[root@mufenggrow ~]# id oracle
uid=1002(oracle) gid=1002(oracle) 组=1002(oracle)
## 修改用户的UID
[root@mufenggrow ~]# usermod -u 1111 oracle
[root@mufenggrow ~]# id oracle
uid=1111(oracle) gid=1002(oracle) 组=1002(oracle)
[root@mufenggrow ~]#
4.2 修改shell
## 查看oracle用户原来的shell
[root@mufenggrow ~]# grep oracle /etc/passwd
oracle:x:1111:1002::/home/oracle:/bin/bash
## 修改shell
[root@mufenggrow ~]# usermod -s /sbin/nologin oracle
[root@mufenggrow ~]# !grep
grep oracle /etc/passwd
oracle:x:1111:1002::/home/oracle:/sbin/nologin
4.3 更改用户主目录
## 先登录到用户家目录创建一个文件便于测试
[root@mufenggrow ~]# cd /home/oracle/
[root@mufenggrow oracle]# touch a.txt
## 可以看到刚刚创建的文件
[root@mufenggrow oracle]# ll
总用量 0
-rw-r--r--. 1 root root 0 1月 18 20:03 a.txt
## 使用-d参数移动家目录
[root@mufenggrow oracle]# usermod -m -d /tmp/mufeng oracle
[root@mufenggrow oracle]# cd /tmp/mufeng
## 可以看到家目录已经移动过来了
[root@mufenggrow mufeng]# ls
a.txt
这里的 -m选项会自动创建新目录并且移到内容到新目录里面
4.4 添加说明信息
## 查看没有添加之前的信息
[root@mufenggrow mufeng]# grep oracle /etc/passwd
oracle:x:1111:1002::/tmp/mufeng:/sbin/nologin
## 使用-c参数添加
[root@mufenggrow mufeng]# usermod -c "i am mufeng" oracle
## 查看添加之后的信息
[root@mufenggrow mufeng]# grep oracle /etc/passwd
oracle:x:1111:1002:i am mufeng:/tmp/mufeng:/sbin/nologin
4.5 修改用户名为zhangsan
[root@mufenggrow mufeng]# usermod -l zhangsan oracle
[root@mufenggrow mufeng]# id zhangsan
uid=1111(zhangsan) gid=1002(oracle) 组=1002(oracle)
# 可以看到原来的用户没有了
[root@mufenggrow mufeng]# id oracle
id: oracle: no such user
此处需要注意,把oracle 改为zhangsan
语法为:
usermod -l 新用户 要修改的用户名
4.6 锁定用户mufeng
[root@mufenggrow mufeng]# usermod -L mufeng
4.7 解锁用户mufeng
[root@mufenggrow mufeng]# usermod -U mufeng
4.8 添加新的附加组
[root@mufenggrow mufeng]# usermod -U root mufeng
4.9 指定帐号过期日期
[root@mufenggrow mufeng]# usermod -e 2023/11/11 mufeng
## 查看过期时间
[root@mufenggrow mufeng]# chage -l mufeng
最近一次密码修改时间 :1月 18, 2023
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :11月 11, 2023
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :99999
在密码过期之前警告的天数 :7
4.10 指定用户帐号密码过期多少天后,禁用该帐号
## 先查看lisi用户的账号信息
[root@mufenggrow mufeng]# sed -n $p /etc/shadow
lisi:!!:19375:0:99999:7:::
## 使用 -f餐宿进行修改
[root@mufenggrow mufeng]# usermod -f 30 lisi
[root@mufenggrow mufeng]# !sed
sed -n $p /etc/shadow
lisi:!!:19375:0:99999:7:30::
可以看到实效的时间已经变成了30天
Linux命令之修改用户账户usermod
概述
usermod
命令可用于修改用户账号相关信息。
语法
该命令的语法如下:
usermod [选项] [参数]
该命令支持的选项有:
选项 | 说明 |
---|---|
-c <备注> | 修改用户账号的备注文字 |
-d <家目录> | 修改用户的家目录 |
-e <有效期限> | 修改账号的有效期限 |
-f <缓冲天数> | 修改在密码过期后多少天即关闭该账号 |
-g <群组> | 修改用户所属的群组,组必须存在 |
-G <附加群组> | 修改用户所属的附加群组 |
-l <账号名称> | 修改用户账号名称 |
-L | 锁定用户密码,使密码无效 |
-s <shell> | 修改用户登入后所使用的shell |
-u <uid> | 修改用户id |
-U | 解除密码锁定 |
使用
将用户加入到用户组【★★★★★】
可以将用户加入到指定用户组,指定用户组必须存在。语法如下:
# 语法
usermod -g 用户组名 用户名
# 示例,将 zhangsan 用户加入到 root 用户组
usermod -g root zhangsan
修改用户的家目录
修改用户家目录的语法如下:
# 语法
usermod -d 新家目录 用户名
# 示例,修改 zhangsan 用户的家目录为 /zhangsan-home
usermod -d /zhangsan-home zhangsan
修改用户名
可以修改用户名,语法如下:
# 语法
usermod -l 新用户名 旧用户名
# 示例,修改原用户名 zhangsan 为新用户名 zs
usermod -l zs zhangsan
以上是关于Linux基本功系列之usermod命令的主要内容,如果未能解决你的问题,请参考以下文章
Linux常用命令之--useradd,userdel,usermod,groupadd,groupdel,groupmod,gpasswd