Linux用戶和組管理命令

一、用戶管理命令

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:不要自動建立用戶的登入目錄;

圖片.png

-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>:指定用戶登入後所使用的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<uid>:指定用戶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>:修改用戶登入後所使用的shell;

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

-u<uid>:修改用戶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:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章