一.添加、切換、刪除用戶組命令groupadd/newgrp/groupdel
1.groupadd命令
用來新建一個用戶組。語法格式為:
groupadd [-g -o] gid group
各個選項具體含義如下:
-g:指定新建用戶組的GID號,該GID號必須唯一,不能和其它用戶組的GID號重復。
-o:一般與-g選項同時使用,表示新用戶組的GID可以與系統已有用戶組的GID相同。
例如:
創建一個linuxfans的用戶組和一個fanslinux用戶組,GID分別為1020和1030
[root@localhost ~]# groupadd -g 1020 linuxfans
[root@localhost ~]# groupadd -g 1030 fanslinux
[root@localhost ~]# more /etc/group|grep linuxfans
linuxfans:x:1020:
[root@localhost ~]# more /etc/group|grep fanslinux
fanslinux:x:1030:
2.newgrp命令
如果一個用戶同時屬於多個用戶組,那麼用戶可以在用戶組之間切換,以便具有其他用戶組的權限,newgrp主要用於在多個用戶組之間進行切換,語法格式為:
newgrp <用戶組>
例子:下面通過實例講述newgrp的用法:
首先建立了3個用戶組group1、group2和group3.
[root@localhost ~]# groupadd group1
[root@localhost ~]# groupadd group2
[root@localhost ~]# groupadd group3
下面創建了一個用戶user1,同時指定user1的主用戶組為group1,附加用戶組為group2和group3
[root@localhost ~]# useradd -g group1 -G group2,group3 user1
[root@localhost ~]# more /etc/group|grep user1
group2:x:501:user1
group3:x:502:user1
下面是對用戶user1設置密碼
[root@localhost ~]# passwd user1
Changing password for user user1.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
下面是切換到user1用戶下,通過newgrp切換用戶組進行的一系列操作,從中可以看出newgrp的作用。
[root@localhost ~]# su - user1
[user1@localhost ~]$ whoami
user1
[user1@localhost ~]$ mkdir user1_doc
[user1@localhost ~]$ newgrp group2
[user1@localhost ~]$ mkdir user2_doc
[user1@localhost ~]$ newgrp group3
[user1@localhost ~]$ mkdir user3_doc
[user1@localhost ~]$ ll
total 12
drwxr-xr-x 2 user1 group1 4096 Oct 24 01:18 user1_doc
drwxr-xr-x 2 user1 group2 4096 Oct 24 01:18 user2_doc
drwxr-xr-x 2 user1 group3 4096 Oct 24 01:19 user3_doc
[user1@localhost ~]$
3.groupdel命令
表示刪除用戶組,語法格式為:
groupdel [群組名稱]
當需要從系統上刪除用戶組時,可用groupdel指令來完成這項工作。如果該用戶組中仍包括某些用戶,則必須先刪除這些用戶後,然後才能刪除用戶組。
例如:刪除linuxfans這個用戶組
[root@localhost ~]# groupdel linuxfans
二. 添加、修改和刪除用戶命令useradd/usermod/userdel
1.useradd建立用戶的過程
useradd不加任何參數創建用戶時,系統首先讀取添加用戶配置文件/etc/login.defs和/etc/default/useradd,根據這兩個配置文件中定義的規則添加用戶,然後會向/etc/passwd和/etc/group文件添加用戶和用戶組記錄,同時/etc/passwd和/etc/group對應的加密文件也會自動生成記錄,接著系統會自動在/etc/default/useradd文件設定的目錄下建立用戶主目錄,最後復制/etc/skel目錄中的所有文件到新用戶的主目錄中,這樣一個新的用戶就建立完成了。
2.useradd的使用語法
useradd語法的一般格式為:
useradd [-u uid [-o]] [-g group] [-G group,...]
[-d home] [-s shell] [-c comment]
[-f inactive] [-e expire ] name
各個選項具體含義如下:
-u uid:即用戶標識號,此標識號必須唯一。
-g group:指定新建用戶登錄時所屬的默認組,或者叫主組。此群組必須已經存在。
-G group:指定新建用戶的附加組,此群組必須已經存在。附加組是相對與主組而言的,當一個用戶同時是多個組中的成員時,登錄時的默認組成為主組,而其它組稱為附加組。
-d home:指定新建用戶的默認主目錄,如果不指定,系統會在/etc/default/useradd文件指定的目錄下創建用戶主目錄。
-s shell:指定新建用戶使用的默認shell,如果不指定,系統以/etc/default/useradd文件中定義的shell作為新建用戶的默認shell。
-c comment:對新建用戶的說明信息。
-f inactive:指定帳號過期多長時間後永久停用。當值為0時帳號則立刻被停權。而當值為-1時則關閉此功能,預設值為-1
-e expire:指定用戶的帳號過期時間,日期的指定格式為MM/DD/YY。
name:指定需要創建的用戶名。
3.usermod的使用語法
usermod用來修改用戶的賬戶屬性信息,使用語法如下:
usermod [-u uid [-o]] [-g group] [-G group,...]
[-d 主目錄 [-m]] [-s shell] [-c 注釋] [-l 新名稱]
[-f 失效日期] [-e 過期日期][-L|-U] Name
各個選項具體含義如下:
-u uid:指定用戶新的UID值,此值必須為唯一的ID值,除非用-o選項。
-g group:修改用戶所屬的組名為新的用戶組名,此用戶組名必須已經存在。
-G group:修改用戶所屬的附加組。
-d 主目錄:修改用戶登錄時的主目錄。
-s shell:修改用戶登錄系統後默認使用的shell
-c 注釋:修改用戶的注釋信息。
-l 新名稱:修改用戶帳號為新的名稱。
-f 失效日:帳號過期多少天後永久禁用。
-e 過期日:增加或修改用戶賬戶的過期時間。
-L:鎖定用戶密碼,使密碼無效。
-U:解除密碼鎖定。
Name:要修改屬性的系統用戶。
4.userdel的使用語法
Userdel用來刪除一個用戶,若指定“-r”參數不但刪除用戶,同時刪除用戶的主目錄以及目錄下的所有文件。語法格式為:
userdel [-r][用戶帳號]
5.應用舉例
1)添加一個用戶mylinux,指定所屬的主用戶組為fanslinux,附加用戶組為linuxfans,同時指定用戶的默認主目錄為/opt/mylinux
[root@localhost ~]# useradd -g fanslinux -G linuxfans -d /opt/mylinux mylinux
[root@localhost ~]# more /etc/passwd|grep mylinux
mylinux:x:523:1030::/opt/mylinux:/bin/bash
[root@localhost ~]# more /etc/group|grep mylinux
linuxfans:x:1020:mylinux
2)添加一個用戶test_user,指定UID為686,默認的shell為/bin/csh,讓其歸屬為用戶組linuxfans和fanslinux,同時添加對此用戶的描述,
[root@localhost ~]# useradd -u 686 -s /bin/csh -G linuxfans,fanslinux -c "This is test user" test_user
[root@localhost ~]# more /etc/passwd|grep test_user
test_user:x:686:686:This is test user:/home/test_user:/bin/csh
[root@localhost ~]# more /etc/group|grep test_user
fanslinux:x:1030:test_user
linuxfans:x:1020:mylinux,test_user
test_user:x:686:
3)修改用戶test_user的主用戶組為新建的組test_group1,同時修改test_user的附加組為linuxfans和root,最後修改test_user的默認登錄shell為/bin/bash
[root@localhost ~]# groupadd test_group1 #添加一個新的用戶組
[root@localhost ~]# more /etc/group|grep test_group1 #顯示新增用戶組的信息
test_group1:x:1031:
[root@localhost ~]# usermod -g test_group1 -G linuxfans,root -s /bin/bash test_user
[root@localhost ~]# more /etc/passwd|grep test_user #從輸出可知,用戶的屬性已經更改
test_user:x:686:1031:This is test user:/home/test_user:/bin/bash
[root@localhost ~]# more /etc/group|grep test_user #從輸出可知,用戶組的屬性也同步更改
root:x:0:root,test_user
linuxfans:x:1020:mylinux,test_user
test_user:x:686:
4)如何鎖定、解除用戶密碼
下面首先對test_user和mylinux用戶設置密碼
[root@localhost ~]# passwd test_user
Changing password for user test_user.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# passwd mylinux
Changing password for user mylinux.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
下面的操作是通過su命令切換到mylinux用戶下,然後在mylinux下再次切換到test_user用戶下,這裡的切換用戶是為了說明一個問題:從超級用戶root切換到普通用戶下,是不需要輸入普通用戶密碼的,系統也不會去驗證密碼。但普通用戶之間切換是需要密碼驗證的。
[root@localhost ~]# su – mylinux #通過su命令切換到mylinux用戶下
[mylinux@localhost ~]$ whoami #用whoami命令查看當前用戶
mylinux
[mylinux@localhost ~]$ su - test_user #這裡是從mylinux用戶下切換到test_user用戶下,需要輸入密碼
Password:
[mylinux@localhost ~]$ whoami #成功切換到test_user用戶下
test_user
接下來,在root用戶下執行usermod鎖定test_user的密碼,測試test_user是否還能登錄,從下面可以看出,密碼鎖定後,出現登錄失敗。
[root@localhost ~]# usermod -L test_user #鎖定test_user用戶的密碼
[root@localhost ~]# su - mylinux
[mylinux@localhost ~]$ whoami
mylinux
[mylinux@localhost ~]$ su - test_user #這裡輸入的密碼是正確的,但是提示密碼錯誤,因為密碼被鎖定了
Password:
su: incorrect password
[mylinux@localhost ~]$ whoami
mylinux
最後對test_user解除密碼鎖定,登錄正常。
[root@localhost ~]# usermod -U test_user #解除密碼鎖定
[root@localhost ~]# su – mylinux
[mylinux@localhost ~]$ whoami
mylinux
[mylinux@localhost ~]$ su - test_user
Password:
[test_user@localhost ~]$ whoami #密碼鎖定解除後,test_user用戶可以登錄系統
test_user
本文出自 “技術成就夢想” 博客,請務必保留此出處http://ixdba.blog.51cto.com/2895551/531793