Linux管理員如何使用ACL設置發(fā)送集體權限?
不是每位Linux管理員都知道如何在文件系統(tǒng)上部署訪問控制表ACL以增強權限?,F(xiàn)在這種情形應該改變。
在基本的Linux權限主題下,權限分配為文件所有者、文件所有組等。Linux系統(tǒng)上的每個文件與目錄都有一個用戶所有者與組所有者。每個Linux管理員可以調(diào)用當前的擁有者列表,使用表1列出的ls -l命令給他們分配權限:
表1:在目前的Linux系統(tǒng)顯示當前的權限分配
- Sanders-computer:~ sandervanvugt$$ ls -l
- total 24
- drwx------+ 13 sandervanvugt staff 442 Oct 20 20:17 Desktop
- drwx------+ 103 sandervanvugt staff 3502 Oct 21 08:37 Documents
- drwx------+ 289 sandervanvugt staff 9826 Oct 21 10:05 Downloads
- drwx------@ 51 sandervanvugt staff 1734 Sep 22 16:31 Library
- drwx------+ 29 sandervanvugt staff 986 Oct 9 07:59 Movies
- drwx------+ 5 sandervanvugt staff 170 May 21 23:19 Music
- drwx------+ 24 sandervanvugt staff 816 Sep 19 22:21 Pictures
- drwxr-xr-x+ 4 sandervanvugt staff 136 Apr 12 2013 Public
- drwxr-xr-x 3 sandervanvugt staff 102 Sep 22 16:31 Samsung
- -rwxr-xr-x 1 sandervanvugt staff 324 Sep 23 11:51 bart1
- -rw-r--r-- 1 sandervanvugt staff 148 Aug 14 13:12 rekenprogrammaLOG
- -rwxr-xr-x 1 sandervanvugt staff 607 Jul 3 16:59 script3
如果文件上只需一個擁有者或者一個組,默認的Linux權限方案也可以。
不過,如果你需要給一個組的用戶提供文件的控制權,另一個組只需閱讀文件,其他的不許訪問文件,那么默認的權限就幫不上忙了,這時你需要ACL。
Linux ACL為文件找受托者,允許多個用戶與多個組擁有權限。也可以設置默認的訪問控制列表,將默認的權限用于在目錄中創(chuàng)建的新條款。
setfacl命令使用ACL設置權限。Linux系統(tǒng)通過表2的getfacl命令顯示目前的ACL分配情況。
申請權限很簡單。例如,Linux管理員想讓組織中的銷售團隊成員訪問directory /groups/account里的所有文件的話,可以使用setfacl -R -m g:sales:rx /groups/account。
在該命令中,選項-R用于將ACL遞回directory /groups/account里的所有現(xiàn)有條款。選項-m用于變更ACL,g代表的是組,然后是組的名字與分配的權限。
表2:如何用getfacl顯示Linux ACL的權限
- [root@tls groups]# getfacl account/
- # file: account/
- # owner: root
- # group: account
- user::rwx
- group::rwx
- group:sales:r-x
- mask::rwx
- other::---
不要擔心因為getfacl命令而出現(xiàn)黑屏,這是在自動更改。
默認的Linux ACL
Linux ACL命令在當前文件上設置權限,但是不會自動在新文件上做任何事。通常,如果一位管理員在目錄中使用ACL,他們也想ACL適用于目錄里創(chuàng)建的所有新文件。這就是默認ACL的特權。
添加默認ACL與使用添加選項復制之前的setfacl命令一樣簡單。為了將權限分配給目錄中的所有新文件,部署以下命令:
- setfacl -m d:g:sales:rx /groups/account
你也可以使用getfacl檢查當前默認的ACL設置,如表3所示:
表3:檢查默認的Linux ACL分配
- [root@tls groups]# getfacl account/
- # file: account/
- # owner: root
- # group: account
- user::rwx
- group::rwx
- group:sales:r-x
- mask::rwx
- other::---
- default:user::rwx
- default:group::rwx
- default:group:sales:r-x
- default:mask::rwx
- default:other::---
一旦設置好默認的ACL,新的權限將適用于目錄中創(chuàng)建的所有條款。