一天一个命令之--usermod

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

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

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

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

2、-d 修改主目录

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

修改关羽的家目录为/app

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

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

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

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

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

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

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

[root@yuan ~]# groupadd shuguo
[root@yuan ~]# id guanyu
uid=1002(guanyu) gid=1002(guanyu) groups=1002(guanyu)
[root@yuan ~]# usermod -g shuguo guanyu
[root@yuan ~]# id guanyu
uid=1002(guanyu) gid=2008(shuguo) groups=2008(shuguo)

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

[root@yuan ~]# groupadd -g 3000 weiguo
[root@yuan ~]# usermod -g 3000 guanyu
[root@yuan ~]# id guanyu
uid=1002(guanyu) gid=3000(weiguo) groups=3000(weiguo)

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

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

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

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

7、修改用户UID

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

关羽的UID修改为3000.

8、修改登录shell

[root@yuan ~]# cat /etc/passwd|grep guanyu
guanyu:x:3000:3000:shu guo:/app:/bin/bash
[root@yuan ~]# usermod -s /sbin/nologin guanyu
[root@yuan ~]# 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.

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

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

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

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

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

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

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

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

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

12、-p 修改账户的密码

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

知识共享,可以转载!

猜你喜欢

转载自blog.csdn.net/qq_34208467/article/details/83511463
今日推荐