1. 程式人生 > >Linux許可權管理 ACL許可權

Linux許可權管理 ACL許可權

ACL許可權簡介

在普通許可權中,使用者對檔案只有三種身份ugo,分別為屬主(u)、屬組(g)和其他人(o);每種使用者身份擁有讀(read)、寫(write)和執行(execute)三種許可權。但是在實際工作中,系統上chmod管理許可權,有時不能滿足需求,需要給個別使用者(非所有者,非所屬組)賦予許可權,因此使用acl許可權。

ACL可以設定特定使用者或者使用者組對於一個檔案/資料夾的操作許可權. 需要掌握的命令也只有三個: getfacl, setfacl, chacl。

ACL是Access Control List(訪問控制列表)的縮寫,不過在Linux系統中,ACL用於設定使用者針對檔案的許可權。

ACL許可權開啟

謹記在Linux中 ACL許可權針對的是分割槽,所以要給某個檔案設定ACL許可權時,首先要檢視分割槽是否開啟了ACL許可權。

檢視 ACL 許可權是否開啟

使用mount 和 dumpe2fs 命令就可以檢視ACL是否開啟 

 1. 使用mount命令找到系統中已經掛載的分割槽

[[email protected] ~]# mount
 ......省略其他不相關的輸出...........
/dev/sda1 on /boot type ext4 (rw,relatime,seclabel,data=ordered)

 2.使用dumpe2fs查詢指定分割槽檔案系統詳細資訊

-h 含義為僅顯示超級塊中的資訊,而不顯示磁碟塊組的詳細資訊;

[[email protected] ~]# dumpe2fs -h /dev/sda1
.......省略其他不相關的輸出...........
Default mount options:    user_xattr acl

大家可以看到,我們的 ACL 許可權是 /dev/sda1 分割槽的預設掛載選項,所以不需要手工掛載。

手動新增ACL許可權

當 Linux 系統沒有預設掛載(沒有預設掛載分割槽則ACL)或則預設掛載分割槽沒有開啟ACL許可權時就可以手動掛載分割槽並開啟ACL許可權:

[[email protected] ~]# mount -o remount, acl /
#重新掛載根分割槽,並加入ACL許可權

,並加入 ACL 許可權。不過使用此命令是臨時生效的。要想永久生效,需要修改 /etc/fstab 檔案,命令如下:

[[email protected] ~]#vi /etc/fstab
UUID=c2ca6f57-b15c-43ea-bca0-f239083d8bd2 /ext4 defaults, acl 1 1
#加入ACL許可權
[[email protected] ~]# mount -o remount /
#重新掛載檔案系統或重啟系統,使修改生效

在你需要開啟 ACL 許可權的分割槽行上(也就是說 ACL 許可權針對的是分割槽),手工在 defaults 後面加入",acl"即可永久在此分割槽中開啟 ACL 許可權。ACL許可權設定