Linux -- 用戶與用戶組html
1.Linux 系統中有三種角色:全部者(用戶),用戶組與其餘人,一張圖能夠說明用戶與用戶組的關係。shell
如圖,某公司至關於一個用戶組,該用戶組下有A,B兩個用戶,用戶擁有各自的私密空間和公用空間,不是該用戶組下的就是其餘人,其餘人沒法訪問用戶組下的內容。bash
2.GID 與 UID 學習
UID 能夠理解爲 user ID,也就是 用戶ID,GID 能夠理解爲 group ID,也就是 用戶組ID,這兩個 ID 值很是重要,通常不建議更改,好比 Linux 中會根據 UID 和 GID 來判斷一個文件屬於哪一個用戶和用戶組,若是隨意改動 UID 和 GID,致使沒法找到用戶下的文件或者對文件沒有了權限,會很麻煩。ui
用戶ID 的範圍不一樣,在 Linux 中表明的特性也不一樣,在學習對用戶組操做前,先了解一下不一樣 UID 的範圍對應的不一樣特性。this
查看用戶的 UID 和 GID id username ,如加密
[root@localhost ~]# id sherlock uid=505(sherlock) gid=505(holmes) 組=505(holmes)
3.用戶組和用戶經常使用的相關係統文件spa
/etc/passwd - 使用者帳號諮詢
/etc/shadow - 使用者帳號諮詢加密
/etc/group - 用戶組信息code
Linux -- 用戶組orm
1.groupadd 新增用戶組
用法:groupadd [-g gid [-o]] [-r] [-f] group
[root@localhost home]# groupadd holmes [root@localhost home]# grep holmes /etc/group /etc/gshadow /etc/group:holmes:x:505: /etc/gshadow:holmes:!::
2.groupmod 修改 group 參數
-n 修改組名
-g 修改GID
[root@localhost home]# groupmod -n demo holmes #將holmes重命名爲demo [root@localhost home]# grep demo /etc/group /etc/gshadow /etc/group:demo:x:505: /etc/gshadow:demo:!::
3.groupdel 刪除用戶組
須要保證沒有用戶使用該用戶組做爲初始用戶組,若是有用戶將要刪除的用戶組作爲初始用戶組,那麼能夠將修改用戶的GID,或者刪除這個用戶,而後再刪除用戶組
[root@localhost home]# groupdel home groupdel: cannot remove the primary group of user 'tom' #刪除 tom 用戶/修改 tom 的GID後,能夠進行刪除操做 [root@localhost home]# groupdel home
4.gpasswd 用戶管理員功能
所謂用戶管理員就是爲一個用戶組設置管理員,管理員能夠管理帳戶進行加入或者移出該用戶組。
用法:gpasswd [option] group
gpasswd [-ad] user group
root操做 -A 將某個用戶設爲某個用戶組的管理員 -M 將某些帳號加入到用戶組中 -r 將用戶組的密碼刪除 -R 讓用戶組的密碼欄失效 用戶組管理員操做 -a 將用戶加入到用戶組中 -d 將用戶移除用戶組中
[root@localhost home]# gpasswd -A tom home [root@localhost home]# grep home /etc/group /etc/gshadow /etc/group:home:x:505: /etc/gshadow:home:!:tom:
[tom@localhost ~]$ id jun uid=493(jun) gid=492(jun) 組=492(jun) [tom@localhost ~]$ gpasswd -a jun home Adding user jun to group home [tom@localhost ~]$ id jun uid=493(jun) gid=492(jun) 組=492(jun),505(home)
[tom@localhost ~]$ gpasswd -d jun home Removing user jun from group home [tom@localhost ~]$ id jun uid=493(jun) gid=492(jun) 組=492(jun)
用戶功能
1.finger 查閱用戶相關信息
用法:finger [-lmsp] [user ...] [user@host ...]
-s 單行顯示
-l 多行顯示
[root@localhost ~]# finger -s tom
Login Name Tty Idle Login Time Office Office Phone
tom * * No logins
[root@localhost ~]# finger -l tom # -l 可省略 Login: tom Name: Directory: /home/tom Shell: /bin/bash Never logged in. No mail. No Plan.
[tom@localhost ~]$ echo "I will work hard this year" >~/.plan [tom@localhost ~]$ finger tom Login: tom Name: Directory: /home/tom Shell: /bin/bash Never logged in. No mail. Plan: I will work hard this year
[tom@localhost ~]$ finger Login Name Tty Idle Login Time Office Office Phone jun pts/3 7d Jan 25 14:09 (192.168.123.123) root root pts/2 Feb 1 19:32 (192.168.111.111)
2.chfn 修改 finger 的信息
用法:chfn [-f full-name] [-o office] ,RB [ -p office-phone] [-h home-phone] -u] [-v] [username](通常沒什麼用)
[tom@localhost ~]$ chfn Changing finger information for tom. 密碼: Name []: tom Office []: 088-88888888 #辦公室電話 Office Phone []: 18899990000 #辦公室手機號 Home Phone []: 088-666666 #家裏電話 Finger information changed.
3.chsh 修改用戶的shell
用法:chsh [-s shell] [-l] [-u] [-v] [username]
[tom@localhost ~]$ chsh -l /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh
[tom@localhost ~]$ chsh -s /bin/csh
關於用戶的內容見 用戶與用戶組之用戶篇