設定特定資料夾存取控制權限

有時候,我需要將某個資料夾,讓他新增檔案的時候,具有特殊的權限,我可以使用setfacl

step1 啟動 acl

[root@www ~]# mount -o remount,acl /
再下達mount可以看到
[root@www ~]# mount
/dev/hda1 on / type ext3 (rw,acl)
想要每次開機時自動載入acl
[root@www ~]# vi /etc/fstab
LABEL=/1   /   ext3    defaults,acl    1 1
step2 下達setfacl
setfacl -dRm u::rw,g::rw,o::r /home/[user]/
此範例會讓此資料夾預設權限為
drw-rw-r--+
這樣擁有者和同群組都有存取權限
--------------------------
setfacl 指令參考用法
[root@localhost ~]# setfacl [-bkRd] [{-m|-x} acl參數] 目標檔名
選項與參數:
-m :設定後續的 acl 參數給檔案使用,不可與 -x 合用;
-x :刪除後續的 acl 參數,不可與 -m 合用;
-b :移除所有的 ACL 設定參數;
-k :移除預設的 ACL 參數,關於所謂的『預設』參數於後續範例中介紹;
-R :遞迴設定 acl ,亦即包括次目錄都會被設定起來;
-d :設定『預設 acl 參數』的意思!只對目錄有效,在該目錄新建的資料會引用此預設值
--------------------------
setp3 檢查acl權限 getfacl
[root@localhost ~]# getfacl /home/[user]/
getfacl: Removing leading '/' from absolute path names
# file: home/djadmin/file
# owner: teacher
# group: alluser
user::rwx
group::rwx
other::rwx
default:user::rw-
default:group::rw-
default:other::r--
step4. 完成

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *