欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一天一个命令之--usermod

程序员文章站 2024-02-23 15:14:34
...

usermod命令是用户账户修改中最强大的一个。它能够修改/etc/passwd文件中的大部分字段,只需用与想修改的对应的命令行参数就可以了。参数大部分跟useradd命令的参数一样。下面将为大家一个一个讲解:

1、-c 给用户添加备注信息

[[email protected] ~]# usermod -c "shu guo" guanyu
[[email protected] ~]# cat /etc/passwd|grep guanyu
guanyu:x:1002:1002:shu guo:/home/guanyu:/bin/bash

给guanyu(关羽)添加备注信息:shuguo(蜀国)。

2、-d 修改主目录

[[email protected] ~]# usermod -d /app guanyu
[[email protected] ~]# cat /etc/passwd|grep guanyu
guanyu:x:1002:1002:shu guo:/app:/bin/bash

修改关羽的家目录为/app

3、-e 用YYYY-MM-DD格式指定一个账户过期的日期(用1970年1月1日到当天的天数表示)

[[email protected] ~]# cat /etc/shadow|grep guanyu
guanyu:!!:17829:0:99999:7:::
[[email protected] ~]# usermod -e 2018-12-1 guanyu
[[email protected] ~]# cat /etc/shadow|grep guanyu
guanyu:!!:17829:0:99999:7::17866:

/etc/shadow倒数第二个字段显示的是账户过期日期,已经发生改变!

4、-f 指定这个密码过期多少天将被禁用:0表示一过期就立即禁用,-1表示禁用这个功能

[[email protected] ~]# cat /etc/shadow|grep guanyu
guanyu:!!:17829:0:99999:7:::
[[email protected] ~]#  usermod -f 0 guanyu
[[email protected] ~]# cat /etc/shadow|grep guanyu
guanyu:!!:17829:0:99999:7:0:17866:

可以看到,已经由禁用该功能,改成了立即就禁用,您也可设置一个具体的数字(单位是天)。

5、-g 修改登录用户的gid或者组名,主组!

[[email protected] ~]# groupadd shuguo
[[email protected] ~]# id guanyu
uid=1002(guanyu) gid=1002(guanyu) groups=1002(guanyu)
[[email protected] ~]# usermod -g shuguo guanyu
[[email protected] ~]# id guanyu
uid=1002(guanyu) gid=2008(shuguo) groups=2008(shuguo)

用户关羽的主组已经变成了shuguo。

[[email protected] ~]# groupadd -g 3000 weiguo
[[email protected] ~]# usermod -g 3000 guanyu
[[email protected] ~]# id guanyu
uid=1002(guanyu) gid=3000(weiguo) groups=3000(weiguo)

用户关羽的主组GID已经改变为3000

6、-G 指定用户的附加组

[[email protected] ~]# groupadd -g 3001 weiguo1
[[email protected] ~]# usermod -G 3001 guanyu
[[email protected] ~]# id guanyu
uid=1002(guanyu) gid=3000(weiguo) groups=3000(weiguo),3001(weiguo1)
[[email protected] ~]# groupadd -g 3002 weiguo2
[[email protected] ~]# groupadd -g 3003 weiguo3
[[email protected] ~]# id guanyu
uid=1002(guanyu) gid=3000(weiguo) groups=3000(weiguo),3001(weiguo1)
[[email protected] ~]# usermod -G 3002,3003 guanyu
[[email protected] ~]# id guanyu
uid=1002(guanyu) gid=3000(weiguo) groups=3000(weiguo),3002(weiguo2),3003(weiguo3)

可以指定一个,也可以指定多个。

7、修改用户UID

[[email protected] ~]# usermod  -u 3000 guanyu
[[email protected] ~]# id guanyu
uid=3000(guanyu) gid=3000(weiguo) groups=3000(weiguo),3002(weiguo2),3003(weiguo3)

关羽的UID修改为3000.

8、修改登录shell

[[email protected] ~]# cat /etc/passwd|grep guanyu
guanyu:x:3000:3000:shu guo:/app:/bin/bash
[[email protected] ~]# usermod -s /sbin/nologin guanyu
[[email protected] ~]# cat /etc/passwd|grep guanyu
guanyu:x:3000:3000:shu guo:/app:/sbin/nologin

用户guanyu的shell已经由/bin/bash改为了/sbin/nologin

9、-l  修改用户账户的登录名

这个选项就比较有意思了,先解释一下接下来的步骤:给guanyu设置一个密码centos;然后修改guanyu的登录名称为guanyu1;

然后我们用root账户切换到guanyu,这时候报错用户不存在。然后我们切换到guanyu1,再查看一下他的家目录的名字竟然是guanyu,并没有随之改变为guanyu1.

[[email protected] ~]# echo centos |passwd --stdin guanyu
Changing password for user guanyu.
passwd: all authentication tokens updated successfully.
[[email protected] ~]# usermod -l guanyu1 guanyu
[[email protected] ~]# su guanyu
su: user guanyu does not exist
[[email protected] ~]# su - guanyu1
[[email protected] ~]$ pwd
/home/guanyu

 10、-L  锁定账户,使账户无法登陆

10和11是两个非常实用的选项:

[[email protected] ~]# echo centos | passwd --stdin guanyu
Changing password for user guanyu.
passwd: all authentication tokens updated successfully.
[[email protected] ~]# usermod -L guanyu
[[email protected] ~]# su liubei
[[email protected] root]$ su guanyu
Password: 
su: Authentication failure

给关羽设置密码centos;锁定guanyu用户;切换到普通用户下,再尝试着登录guanyu,无法登录。

11、-U 解除锁定,使用户可以登录。

结合着上面10给的例子,我们来解除对关羽的限制。

[[email protected] root]$ exit
exit
[[email protected] ~]# usermod -U guanyu
[[email protected] ~]# su - liubei
Last login: Mon Oct 29 20:16:47 CST 2018 on pts/0
[[email protected] ~]$ su guanyu
Password: 
[[email protected] liubei]$

退出liubei;解除对guanyu的限制;然后再切换到普通用户liubei;再尝试着登录guanyu。这时候我们可以看到,对关羽用户的限制登录已经解除。

12、-p 修改账户的密码

在较老一些的版本,支持该选项,现在的发行版已经不再支持该选项了。我们可以用passwd修改自己的密码。如果你是管理员,也可以用passwd+username的格式修改别人的密码。

 

知识共享,可以转载!