usermod命令
usermod:修改用户的属性信息。
语法格式:
usermod [options] LOGIN
选项:
-a:添加用户到辅助组中。和-G选项一起使用,将用户添加到组中。
示例1:
[root@Server3 ~]# usermod -aG user2 user1 [root@Server3 ~]# grep 'user1' /etc/group user1:x:503: user2:x:504:user1 [root@Server3 ~]# 作用:将user1添加到user2组中,将user2作为user1的附属组。
-c:修改用户的comment信息。
示例2:
[root@Server3 ~]# grep user1 /etc/passwd user1:x:503:503::/home/user1:/bin/bash [root@Server3 ~]# usermod -c "I am user1" user1 [root@Server3 ~]# grep user1 /etc/passwd user1:x:503:503:I am user1:/home/user1:/bin/bash [root@Server3 ~]#
-d:修改用户的家目录。通常和-m选项一起使用,作用是将用户家目录下的内容移动到新的目录下,如果新的家目录不存在的话,则创建。
示例3:
[root@Server3 ~]# grep user1 /etc/passwd user1:x:503:503:I am user1:/home/user1:/bin/bash [root@Server3 ~]# mkdir /user1 [root@Server3 ~]# usermod -d /user1 user1 [root@Server3 ~]# grep user1 /etc/passwd user1:x:503:503:I am user1:/user1:/bin/bash [root@Server3 ~]#
示例4:
[root@Server3 ~]# grep user1 /etc/passwd user1:x:503:503:I am user1:/home/user1:/bin/bash [root@Server3 ~]# usermod -d /user1 -m user1 [root@Server3 ~]# grep user1 /etc/passwd user1:x:503:503:I am user1:/user1:/bin/bash [root@Server3 ~]# su - user1 [user1@Server3 ~]$
-e:修改账户过期时间,格式为YYYY-MM-DD。
示例5:
[root@Server3 ~]# chage -l user1 Last password change : Jul 01, 2014 Password expires : never Password inactive : never Account expires : Jul 02, 2014 Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7 [root@Server3 ~]# usermod -e 2014-8-8 user1 [root@Server3 ~]# chage -l user1 Last password change : Jul 01, 2014 Password expires : never Password inactive : never Account expires : Aug 08, 2014 Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7 [root@Server3 ~]#
-f:密码过期多少天后账户将停用。0将立即停用,-1将关闭该特性。
示例6:
[root@Server3 ~]# grep user1 /etc/shadow user1:!!:16252:0:99999:7:5:16290: [root@Server3 ~]# 说明:user1为密码过期5天后,账户将停用。 将其修改为10: [root@Server3 ~]# usermod -f 10 user1 [root@Server3 ~]# grep user1 /etc/shadow user1:!!:16252:0:99999:7:10:16290: [root@Server3 ~]#
-g:修改用户的基本组或初始登录组。
示例7:
[root@Server3 ~]# grep user1 /etc/passwd user1:x:503:503:I am user1:/home/user1:/bin/bash [root@Server3 ~]# id -gn user2 user2 [root@Server3 ~]# id -g user1 503 [root@Server3 ~]# id -g user2 504 [root@Server3 ~]# usermod -g user2 user1 [root@Server3 ~]# grep user1 /etc/passwd user1:x:503:504:I am user1:/home/user1:/bin/bash [root@Server3 ~]#
-G:修改用户的附属组。
-l:修改用户的login name。
示例8:
[root@Server3 ~]# grep user1 /etc/passwd user1:x:503:504:I am user1:/home/user1:/bin/bash [root@Server3 ~]# usermod -l user11 user1 [root@Server3 ~]# grep user11 /etc/passwd user11:x:503:504:I am user1:/home/user1:/bin/bash [root@Server3 ~]#
-L:锁定用户,在密码前加上!
示例9:
[root@Server3 ~]# usermod -L user1 [root@Server3 ~]# su - user2 [user2@Server3 ~]$ su - user1 Password: su: incorrect password [user2@Server3 ~]$ 说明:当锁定一个用户时,即使输入正确的密码,也会提示密码错误。
-U:解锁锁定的用户。
-u:修改用户的UID
示例10:
[root@Server3 ~]# grep user1 /etc/passwd user1:x:503:504:I am user1:/home/user1:/bin/bash [root@Server3 ~]# usermod -u 1000 user1 [root@Server3 ~]# grep user1 /etc/passwd user1:x:1000:504:I am user1:/home/user1:/bin/bash [root@Server3 ~]#
-s:修改用户的shell
示例11:
[root@Server3 ~]# grep user1 /etc/passwd user1:x:1000:504:I am user1:/home/user1:/bin/bash [root@Server3 ~]# usermod -s /sbin/nologin user1 [root@Server3 ~]# grep user1 /etc/passwd user1:x:1000:504:I am user1:/home/user1:/sbin/nologin [root@Server3 ~]#
还有一个专门修改用户shell的指令是chsh。
chsh的选项:
-l:列出在/etc/shells中的shell。
-s:改变用户的login shell
示例1:
[root@Server3 ~]# chsh -l /bin/sh /bin/bash /sbin/nologin /bin/tcsh /bin/csh [root@Server3 ~]#
示例2:
[root@Server3 ~]# grep user1 /etc/passwd user1:x:1000:504:I am user1:/home/user1:/bin/bash [root@Server3 ~]# chsh -s /sbin/nologin user1 Changing shell for user1. Shell changed. [root@Server3 ~]# grep user1 /etc/passwd user1:x:1000:504:I am user1:/home/user1:/sbin/nologin [root@Server3 ~]#