先檢視一下 /etc/group 檔案:
[root@localhost /]# cat /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
tty:x:5:
disk:x:6:root
lp:x:7:daemon,lp
mem:x:8:
kmem:x:9:
wheel:x:10:root
...
這個檔案的每一行代表乙個使用者組,以冒號分隔各個字段。共有4個字段,分別是:
初始使用者組
在 /etc/passwd 中使用者對應的那一行的第4個字段(gid),就是初始使用者組。當使用者登入系統,立刻就擁有這個初始使用者組的相關許可權。
[root@localhost /]# cat /etc/passwd
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
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
...
有效使用者組
有效使用者組表示使用者此時此刻所在的使用者組是什麼。在切換有效使用者組之前,有效使用者組就是初始使用者組。
想要知道使用者自己當前的有效使用者組和支援的使用者組(在 /etc/group 檔案中第四字段包含此使用者的使用者組),使用groups
即可。
[root@localhost /]# groups
root bin daemon sys adm disk wheel
在這個輸出的資訊中,第乙個輸出的使用者組就是當前的有效使用者組了(但是有些系統並不這麼做)。
如果我以touch
去建立乙個新檔案,那麼這個檔案的所有者為 root,而且使用者組是 root(有效使用者組)。
切換有效使用者組:newgrp
使用newgrp
命令可以切換有效使用者組,注意只能切換當前賬號支援的使用者組。
假設當前使用者支援 「test」 和 「foo」 這兩個使用者組。那麼 newgrp test 和 newgrp foo 是有效的。其他的都是無效的。
這個轉換的背後原理是建立乙個新的 shell,如果要恢復到前乙個使用者組需要用 exit 或 ctrl+d 來登出當前的 shell 。
初始使用者組,有效使用者組,初始使用者,有效使用者
自從我開始學習linux系統管理以來,這幾個概念一直困擾著我。今天,一定要搞清楚這幾個概念,然後好好研究研究他們到底是幹什麼用的。藉此,寫篇 久違 了的部落格,和大家共享下我的總結 實際使用者 real user id 實際使用者就是登陸到shell的時候的使用者,也就是最開始的使用者。在大棚部落格...
Linux 有效與初始使用者組
這個檔案的每一行代表乙個使用者組,以冒號分隔各個字段。共有4個字段,分別是 在 etc passwd中使用者對應的那一行的第4個字段,就是所謂的初始使用者組。也就是說,當使用者登入系統,立刻就擁有這個使用者組的相關許可權。但是如果不是初始使用者組,則必須要在 etc group對應的某一行的第4個字...
linux使用者和使用者組
使用者和使用者組 1.etc group 組名 x 組編號 使用者列表 組號 1 499 預留系統編號 組號 500 使用者建立 2.etc gshadow 組名 組密碼 組管理者 使用者列表 3.etc passwd 使用者名稱 密碼佔位符 使用者編號 使用者組編號 注釋 主目錄 shell型別 ...