1. 用戶組的分類
管理員 root :具有使用系統所有權限的用戶,其UID 爲0.
普通用戶 : 即一般用戶,其使用系統的權限受限,其UID爲500-60000之間.
系統用戶 :保障系統運行的用戶,一般不提供密碼登錄系統,其UID爲1-499之間.
2. 修改用戶及用戶組的命令:
useradd usermod userdel groupadd groupmod groupdel
a. 增加用戶:useradd [options] username
options: -u : UID
-g : GID
-c :註釋 用戶設置對賬戶的註釋說明文字
-d : 指定用戶家目錄,默認在/home/username
-s :指定用戶所在的shell環境
-G :指定用的附加組
例 : 增加一個用戶test UID爲1111 家目錄爲/home/test, shell爲/bin/sh,附加組爲root
# useradd -u 1111 -d /home/test -G root -s /bin/sh test
此時的用戶是不能登錄的,因爲沒有設置密碼,並且,有了密碼登陸後狀態異常,因爲沒有正常家目錄該有的配置文件,所以,需要我們配置一下:
[root@centous1 ~]# passwd test 更改用戶 test 的密碼 。 新的 密碼: 重新輸入新的 密碼: passwd: 所有的身份驗證令牌已經成功更新。 [root@centous1 test]# cd /etc/skel/ [root@centous1 skel]# ls [root@centous1 skel]# ls -a . .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla [root@centous1 skel]# cp -r /etc/skel/.[^.]* /home/test [root@centous1 skel]# cd /home/test [root@centous1 test]# ls -a . .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla
b. 修改用戶: usermod [options] username
options:
-u UID: 新UID
-g GID: 新基本組
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加組,原來的附加 組將會被覆蓋;若保留原有,則要同時使用-a選項,表示append;
-s SHELL:新的默認SHELL;
-c 'COMMENT':新的註釋信息;
-d HOME: 新家目錄不會自動創建,原家目錄中的文件不會同時移 動至新的家目錄;若要創建新家目錄並移動原家數據,同時使用-m選項
-l login_name: 新的名字;
-L: lock指定用戶,在/etc/shadow 密碼欄的增加 !
-U: unlock指定用戶,將 /etc/shadow 密碼欄的 ! 拿掉
-e YYYY-MM-DD: 指明用戶賬號過期日期;
-f INACTIVE: 設定非活動期限;
usermod用法和useradd一樣,只不過它是用來改變用戶的屬性。
c. 刪除用戶
userdel test # 這樣刪除的話,用戶是沒有了,但是用戶的家目錄還有
userdel -r test # 這樣刪除的話,用戶和家目錄都沒有了
groupadd 增加用戶組: groupadd -g 1110 groupname #指定用戶組的 UID並建立
groupmod 修改用戶組: group -n group_name: 新名字 -g GID: 新的GID;
groupdel 刪除用戶組: groupdel GROUP
3. 組密碼:gpasswd
gpasswd [OPTION] GROUP
-a user: 將user添加至指定組中;
-d user: 從指定組中移除用戶user
-A user1,user2,...: 設置有管理權限的用戶列表
newgrp命令:臨時切換基本組; 如果用戶本不屬於此組,則需要組密碼
[root@centous1 ~]# gpasswd -a test root Adding user test to group root [root@centous1 ~]# gpasswd -d test root Removing user test from group root
4.密碼和密碼文件的配置
用戶帳戶本身在 /etc/passwd 中定義。Linux 系統包含一個 /etc/passwd 的同伴文件,叫做 /etc/shadow。該文件不像 /etc/passwd,只有對於 root 用戶來說是可讀的,並且包含加密的密碼信息。
[root@centous1 ~]# cat /etc/passwd | head -n 6 root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync [root@centous1 ~]# cat /etc/shadow |head -n 6 root:$6$WC1TihR1JeISuS0/$3xpGDIgJuN9xn9.N0AA9SYAt05dI.iFShcSVWCx3vZjUbMjfABSumpXHUvc3C1Er1wV7xvzjK1Z83qf4yuAkQ/:16923:0:99999:7::: bin:*:15980:0:99999:7::: daemon:*:15980:0:99999:7::: adm:*:15980:0:99999:7::: lp:*:15980:0:99999:7::: sync:*:15980:0:99999:7:::每一行給一個特別帳戶定義密碼信息,同樣的,每個字段用 : 隔開。第一個字段定義和這個shadow條目相關聯的特別用戶帳戶。第二個字段包含一個加密的密碼。其餘的字段在下表中描述:
字段 3 自 1/1/1970 起,密碼被修改的天數
字段 4 密碼將被允許修改之前的天數(0 表示“可在所有時間修改”)
字段 5 系統將強制用戶修改爲新密碼之前的天數(1 表示“永遠都不能修改”)
字段 6 密碼過期之前,用戶將被警告過期的天數(-1 表示“沒有警告”)
字段 7 密碼過期之後,系統自動禁用帳戶的天數(-1 表示“永遠不會禁用”)
字段 8 該帳戶被禁用的天數(-1 表示“該帳戶被啓用”) 字段9保留供將來使用
保存系統中組的信息文件是/etc/group
將用戶分組是Linux系統中對用戶進行管理及控制訪問權限的一種手段。每個用戶都屬於某個用戶組;一個組中能有多個用戶,一個用戶也能屬於不同的組。當 一個用戶同時是多個組中的成員時,在/etc/passwd文件中記錄的是用戶所屬的主組,也就是登錄時所屬的默認組,而其他組稱爲附加組。用戶要訪問屬 於附加組的文件時,必須首先使用newgrp命令使自己成爲所要訪問的組中的成員。用戶組的所有信息都存放在/etc/group文件中。此文件的格式也 類似於/etc/passwd文件,由冒號隔開若干個字段,這些字段有:組名:口令:組標識號:組內用戶列表
(1)“組名”是用戶組的名稱,由字母或數字構成。和/etc/passwd中的登錄名相同,組名不應重複。
(2)“口令”字段存放的是用戶組加密後的口令字。一般Linux系統的用戶組都沒有口令,即這個字段一般爲空,或是*。
(3)“組標識號”和用戶標識號類似,也是個整數,被系統內部用來標識組。
(4)“組內用戶列表”是屬於這個組的所有用戶的列表,不同用戶之間用逗號“,”分隔。這個用戶組可能是用戶的主組,也可能是附加組。
[root@centous1 ~]# cat /etc/group | head -n 6 root:x:0: bin:x:1:bin,daemon daemon:x:2:bin,daemon sys:x:3:bin,adm adm:x:4:adm,daemon tty:x:5:
5. 批量創建用戶
newusers passwd格式文件 批量創建用戶
chpasswd 批量修改用戶口令
首先創建用戶文件
[root@centous1 ~]# cat users.txt hehe:x:2000:2000::/home/hehe:/bin/bash hehe1:x:2001:2001::/home/hehe1:/bin/bash hehe2:x:2002:2002::/home/hehe2:/bin/bash hehe3:x:2003:2003::/home/hehe3:/bin/bash hehe4:x:2004:2004::/home/hehe4:/bin/bash
然後用newusers 創建用戶
[root@centous1 ~]# newusers users.txt [root@centous1 ~]# cat /etc/passwd | tail -n 6 test:x:1111:1111::/home/test:/bin/sh hehe:x:2000:2000::/home/hehe:/bin/bash hehe1:x:2001:2001::/home/hehe1:/bin/bash hehe2:x:2002:2002::/home/hehe2:/bin/bash hehe3:x:2003:2003::/home/hehe3:/bin/bash hehe4:x:2004:2004::/home/hehe4:/bin/bash
創建好用戶後,還不能登錄,因爲linux需要密碼才能以用戶身份登錄系統,用chpasswd命令,給用戶設置密碼
[root@centous1 ~]# cat pass.txt hehe:123456 hehe1:123456 hehe2:123456 hehe3:123456 hehe4:123456 [root@centous1 ~]# cat pass.txt | chpasswd
設置完密碼,但是用戶登錄上去異常,和上述一樣,給用戶的家目錄添加配置文件
[root@centous1 skel]# cp -r /etc/skel/.[^.]* /home/hehe [root@centous1 skel]# cd /home/hehe [root@centous1 test]# ls -a . .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla
6.常用小命令
ps aux 查看系統用戶進程
getent passwd 用戶名 查看用戶的信息
groupmems -l -g 組名 查看組裏邊都有哪些用戶
id 用戶名 查看UID GID 所在組