3.3.3 群組
除了使用者帳號以外,Un*x 系統裡面也有群組帳號 (group account),利用群組可以讓一群人對某些檔案有共同的存取權限,在
RedHat 系統底下,當新增一位使用者的時候,useradd
指令也會同時新增一個與使用者帳號同名的群組,作為使用者的預設群組,有需要時可以再加入其他的群組,一個使用者可以隸屬於多個不同的群組。
底下是一些跟群組有關的指令:
groupadd [GROUP]
新增群組
groupdel [GROUP]
刪除群組
gpasswd [-adr][USER][GROUP] 管理群組與群組密碼
-a
增加使用者到群組中
-d
從群組中刪除某一個使用者
-r
取消群組密碼
newgrp [GROUP] 登入到新的群組
groupadd 跟 groupdel 跟 useradd、userdel
用法相同,可以用來新增與刪除系統上的群組設定。
"gpasswd" 指令只有 root
或群組的管理員才可以執行,可以用來作群組的管理,不加參數的時候,gpasswd
用來設定群組的密碼,設定密碼以後,就必須要用 "newgrp"
登入這個群組才可以取得屬於這個群組的權限,"gpasswd -a"
可以用來將使用者加入到某個群組裡面,"gpasswd -a platin floppy"
這個指令可以將使用者 platin 加入 floppy
群組裡面,取得寫入軟碟機的權限:
[root@h2 platin]# chmod 660 /dev/fd0
[root@h2 platin]# exit
exit
[platin@h2 platin]$ mdir a:
Can't open /dev/fd0: Permission denied
Cannot initialize 'A:'
[platin@h2 platin]$ su
Password:
[root@h2 platin]# gpasswd -a platin floppy
Adding user platin to group floppy
[root@h2 platin]# exit
exit
[platin@h2 platin]$ mdir a:
Can't open /dev/fd0: Permission denied
Cannot initialize 'A:'
[platin@h2 platin]$ newgrp floppy
[platin@h2 platin]$ mdir a:
Volume in drive A is LINUX BOOT
Volume Serial Number is 2410-07EF
Directory for A:/
No files
1 457 664 bytes free
[platin@h2 platin]$
上面這個範例裡面,因為 RedHat 預設只有 root
可以用軟碟機,所以一開始先用 root 帳號讓 floppy
群組可以使用軟碟;使用者 platin
本來沒有使用軟碟的權限,無法使用 mdir 看軟碟的內容,su 成 root
並把 platin 加入 floppy 群組以後,只要 platin 用 "newgrp" 登入
floppy 群組,就可以存取軟碟了,注意一下 platin 在用 "newgrp"
改變群組之前還沒辦法看軟碟內容,這是因為這次登入時 platin
還沒有 floppy 群組的身分,才需要從新登入一次,下次 platin
登入系統後,無須 "newgrp" 就可以存取軟碟了。
"gpasswd -d username groupname"
可以用來將使用者從群組中剔除,剔除以後,該使用者登入後就不再具有這個群組的身分了,假如曾經用
"gpasswd" 設定過群組的密碼,可以用 "gpasswd -r"
來取消密碼的設定。 |