一、用户管理命令

useradd

useradd命令用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。

在Slackware中,adduser指令是个script程序,利用交谈的方式取得输入的用户帐号资料,然后再交由真正建立帐号的useradd命令建立新用户,如此可方便管理员建立用户帐号。在Red Hat Linux中,adduser命令则是useradd命令的符号连接,两者实际上是同一个指令。

语法

useradd(选项)(参数)

选项

-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;

useradd -c nihao han
cat /etc/passwd |tail -n 1
han:x:503:505:nihao:/home/han:/bin/bash

-d<登入目录>:指定用户登入时的启始目录;(该目录必须不存在)

useradd -d /home/yingyu han
cat /etc/passwd |tail -n 1 
han:x:503:505::/home/yingyu:/bin/bash

-D:变更预设值;

配合其他参数使用,显示或修改默认值

useradd -D

useradd -D -s SHELL

useradd -D -b BASE_DIR

useradd -D -g GROUP

-e<有效期限>:指定帐号的有效期限;

useradd -e 3 han
cat /etc/shadow |tail -n 1
han:!!:17548:0:99999:7::3:

账号三天后过期

-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;

useradd -f 4 han
cat /etc/shadow |tail -n 1
han:!!:17548:0:99999:7:4::

过期4天后关闭该账户

-g<群组>:指定用户所属的群组,可以为组名,也可以为GID;(该组必须存在)

useradd -g yingyu han
id han
uid=503(han) gid=506(yingyu) groups=506(yingyu)

-G<群组>:指定用户所属的附加群组;

useradd -G yingyu han
cat /etc/group |tail -n 2
yingyu:x:506:han
han:x:507:

在yingyu组中添加han

-m:自动建立用户的登入目录;

useradd默认添加了-m的参数,所以我们用useradd创建用户都是自动在/home下创建一个同名的目录

-M:不要自动建立用户的登入目录;

Linux用户和组管理命令_第1张图片

-n:取消建立以用户名称为名的群组;

useradd -n han
id han
uid=503(han) gid=100(users) groups=100(users)

-r:建立系统帐号;

useradd -r han
cat /etc/passwd |tail -n 1
han:x:496:493::/home/han:/bin/bash

(centos 6及之前的版本 < 500, centos 7 < 1000)

-s:指定用户登入后所使用的shell;

useradd -s /bin/sh han
cat /etc/passwd |tail -n 1
han:x:503:507::/home/han:/bin/sh

useradd -s /sbin/nologin test  创建shell为不可交互式登录的用户

-u:指定用户id。

useradd -u 2018 han
cat /etc/passwd |tail -n 1
han:x:2018:2018::/home/han:/bin/bash

参数

用户名:要创建的用户名。


usermod

usermod命令用于修改用户的基本信息。usermod命令不允许你改变正在线上的使用者帐号名称。当usermod命令用来改变user id,必须确认这名user没在电脑上执行任何程序。

usermod(选项)(参数)

选项

-c<备注>:修改用户帐号的备注文字;

useradd -c nihao   han
cat /etc/passwd |tail -1
han:x:2019:2019:nihao:/home/han:/bin/bash 
usermod -c hello han
cat /etc/passwd |tail -1
han:x:2019:2019:hello:/home/han:/bin/bash

把han用户的备注信息nihao改为hello

-d<登入目录>:修改用户登入时的目录;

usermod -d /home/qwe han
cat /etc/passwd |tail -1
han:x:2019:2019::/home/qwe:/bin/bash

-e<有效期限>:修改帐号的有效期限;

[root@centos6 ~]# cat /etc/shadow |tail -1
han:!!:17549:0:99999:7:::
[root@centos6 ~]# usermod -e 3 han
[root@centos6 ~]# cat /etc/shadow |tail -1
han:!!:17549:0:99999:7::3:

-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;

[root@centos6 ~]# usermod -f 4 han
[root@centos6 ~]# cat /etc/shadow |tail -1
han:!!:17549:0:99999:7:4:3:

-g<群组>:修改用户所属的群组;

[root@centos6 ~]# usermod -g yingyu han
[root@centos6 ~]# id han
uid=2019(han) gid=506(yingyu) groups=506(yingyu)

-G<群组>;修改用户所属的附加群组;

[root@centos6 ~]# usermod -G shuxue han
[root@centos6 ~]# id han
uid=2019(han) gid=506(yingyu) groups=506(yingyu),2020(shuxue)

-l<帐号名称>:修改用户帐号名称;

[root@centos6 ~]# usermod -l xiaoming han
[root@centos6 ~]# cat /etc/passwd |tail -1
xiaoming:x:2019:506::/home/qwe:/bin/bash
[root@centos6 ~]# id xiaoming
uid=2019(xiaoming) gid=506(yingyu) groups=506(yingyu),2020(shuxue)

-L:锁定用户密码,使密码无效;

[root@centos6 ~]# usermod -L xiaoming
[root@centos6 ~]# su lilei
[lilei@centos6 root]$ su xiaoming
Password: 
su: incorrect password

-s:修改用户登入后所使用的shell;

[root@centos6 ~]# usermod -s /bin/sh xiaoming
[root@centos6 ~]# cat /etc/passwd |tail -1
xiaoming:x:2019:506::/home/qwe:/bin/sh

-u:修改用户ID;

[root@centos6 ~]# usermod -u 1995 xiaoming
[root@centos6 ~]# cat /etc/passwd |tail -1
xiaoming:x:1995:506::/home/qwe:/bin/sh

-U:解除密码锁定。

[root@centos6 /home]# usermod -U xiaoming
[root@centos6 /home]# su lilei
[lilei@centos6 home]$ su xiaoming
Password: 
[xiaoming@centos6 home]$


userdel


userdel命令用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户帐号,而不删除相关文件。

语法


userdel(选项)(参数)


选项

-f:强制删除用户,即使用户当前已登录;
[root@centos6 ~]# userdel wangcai
userdel: user wangcai is currently used by process 2727
[root@centos6 ~]# cat /etc/passwd|tail -1
wangcai:x:2019:2021::/home/wangcai:/bin/bash
[root@centos6 ~]# userdel -f wangcai
userdel: user wangcai is currently used by process 2727
[root@centos6 ~]# cat /etc/passwd|tail -1
han:x:2018:2018::/home/han:/bin/bash

-r:删除用户的同时,删除与用户相关的所有文件。

[root@centos6 ~]# ls /home/
lilei  wangcai
[root@centos6 ~]# userdel -r lilei
[root@centos6 ~]# ls /home/
wangcai

刚才删除wangcai这个用户时没有加-r参数所以还保存有它的家目录,加-r用户lilei家目录就没了

参数

用户名:要删除的用户名。


请不要轻易用-r选项;他会删除用户的同时删除用户所有的文件和目录,切记如果用户目录下有重要的文件,在删除前请备份。

其实也有最简单的办法,但这种办法有点不安全,也就是直接在/etc/passwd中删除您想要删除用户的记录;但最好不要这样做,/etc/passwd是极为重要的文件,可能您一不小心会操作失误。


二、组账号维护命令


groupadd


groupadd命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。


语法

groupadd(选项)(参数)


选项

-g:指定新建工作组的id;

[root@centos6 ~]# groupadd -g 1243 yuwen
[root@centos6 ~]# cat /etc/group|tail -1
yuwen:x:1243:

-r:创建系统工作组,系统工作组的组ID小于500;

[root@centos6 ~]# groupadd -r tiyu
[root@centos6 ~]# cat /etc/group|tail -1
tiyu:x:493:


参数


组名:指定新建工作组的组名。


groupmod


groupmod命令更改群组识别码或名称。需要更改群组的识别码或名称时,可用groupmod指令来完成这项工作。


语法


groupmod(选项)(参数)


选项


-g<群组识别码>:设置要使用的群组识别码;

tiyu:x:493:
[root@centos6 ~]# groupmod -g 510 tiyu
[root@centos6 ~]# cat /etc/group|tail -1
tiyu:x:510:

-n<新群组名称>:设置欲使用的群组名称。

[root@centos6 ~]# cat /etc/group|tail -1
tiyu:x:510:
[root@centos6 ~]# groupmod -n lishi tiyu
[root@centos6 ~]# cat /etc/group|tail -1
lishi:x:510:
-o:重复使用群组识别码;
[root@centos6 ~]# cat /etc/group|tail -1
lishi:x:510:
[root@centos6 ~]# groupmod -g  1243  lishi -o
[root@centos6 ~]# cat /etc/group|tail 
stapdev:x:158:
tcpdump:x:72:
screen:x:84:
admins:x:502:
sysadmins:x:504:
yingyu:x:506:
han:x:2019:
shuxue:x:2020:
yuwen:x:1243:
lishi:x:1243:


参数


组名:指定要修改的工作的组名。


groupdel


groupdel命令用于删除指定的工作组,本命令要修改的系统文件包括/ect/group和/ect/gshadow。若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。


语法


groupdel(参数)


参数


组:要删除的工作组名。


[root@centos6 ~]# cat /etc/group|tail -1
lishi:x:1243:
[root@centos6 ~]# groupdel lishi
[root@centos6 ~]# cat /etc/group|tail -1
yuwen:x:1243: