Linux ACL許可權管理

2021-07-13 14:50:13 字數 1935 閱讀 2148

acl是access conrol list的縮寫,acl許可權的主要作用是為了解決linux系統當中,owner、group和others的許可權不夠用的問題。假設有這樣乙個目錄/home/work,它的所有者是root,所屬組是sn,所有者和所屬組擁有的許可權均為rwx,others什麼許可權也沒有。那麼如果還有乙個使用者st需要檢視和執行這個目錄下的檔案,那該怎麼設定許可權呢?這個時候,owner、group和others沒法解決問題,需要使用acl許可權來對使用者st進行特別處理。

要使用acl許可權,首先檔案系統必須支援acl許可權。事實上,目前絕大部分的檔案系統都是支援acl許可權功能的。使用下面這條指令可以檢視看檔案系統是否支援acl。

dumpe2fs -h 裝置名

下面是執行dumpe2fs -h /dev/sda6的結果,/dev/sda6掛載在/上。

filesystem volume name:   

last mounted on: /

filesystem uuid: f233fe5f-7567-44ca-adb8-1865961d02c7

filesystem magic number: 0xef53

filesystem revision #: 1 (dynamic)

filesystem flags: signed_directory_hash

default mount options: user_xattr acl

....(後面省略)....

從第八行可以看到,檔案系統支援acl許可權。

(其實,centos在預設情況下已經加入了acl支援)

mount -o remount,acl /

修改/etc/fstab

uuid=f233fe5f-7567-44ca-adb8-1865961d02c7 /                       ext4    defaults,**acl**        1 1
重新掛載或者重啟系統生效。

setfacl -m u:使用者名稱:rx 目錄或檔案

setfacl -m g:組名:rx 目錄或檔案

setfacl -m u:st:rx work/

-m:表示新增acl許可權

u:st:rx 表示使用者是st,許可權為rx,

work 這是目錄

getfacl 目錄或檔名可以檢視acl許可權

例如:

在上面getfacl指令返回的結果當中有一行mask:rwx,給某個使用者設定的acl許可權需要與mask設定的許可權相與,得到的許可權才是使用者得到的真正的許可權。上面的使用者得到的實際許可權是rx,因為r_x&&rwx=r_x

setfacl -x u:使用者名稱:rx 目錄或檔案

刪除使用者的acl許可權

setfacl -x g:組名:rx 目錄或檔案

刪除組的acl許可權

setfacl -b 目錄或檔名

刪除所有的acl許可權

遞迴acl許可權

setfacl -m u:使用者名稱:rx -r 目錄

遞迴設定acl許可權

預設acl許可權

setfacl -m d:u:使用者名稱:rx -r 目錄

linux ACL許可權控制

一 acl的使用 acl即access control list 主要的目的是提供傳統的owner,group,others的read,write,execute許可權之外的具體許可權設定,acl可以針對單一使用者 單一檔案或目錄來進行r,w,x的許可權控制,對於需要特殊許可權的使用狀況有一定幫助。...

Linux ACL許可權控制

acl許可權控制主要目的是提供傳統的owner,group,other的read,wirte,execute許可權之外的具體許可權設定,可以針對單一使用者,單一檔案或者目錄來設定特定的許可權。比如 某一目錄許可權為 drwx 2 root root 4096 03 10 13 51.acldir 使...

linux ACL許可權控制

一 acl介紹 acl即access control list 主要的目的是提供傳統的owner,group,others的read,write,execute許可權之外的具體許可權設定,acl可以針對單一使用者 單一檔案或目錄來進行r,w,x的許可權控制,對於需要特殊許可權的使用狀況有一定幫助。如...