3-2·Linux中的ACL權限

一·ACL簡介

1)文件就三個權限

所有者權限 組權限 其他權限

有時候不夠用 這時候就需要ACL權限 用來解決用戶身份不夠的問題

查看分區ACL權限是否開啓?

[root@localhost ~]# dumpe2fs -h /dev/sda1 | grep acl
dumpe2fs 1.42.9 (28-Dec-2013)
Default mount options:    user_xattr acl            //支持acl的

dumpe2fs命令時查詢指定分區詳細文件系統信息的命令
-h 僅顯示超級塊中信息,而不顯示磁盤塊的詳細信息

2)臨時開啓分區ACL權限

mount -o remount,acl /                          //重新掛載根分區,並掛載加入acl權限

3)永久開啓分區ACL權限

vi /etc/fstab

UUID=c2ca6f57-b15c-43ea=bca0-f239083d8bd2 / ext4 defaults,acl 1 1            //加入acl

mount -o remount /                          //重新掛載文件系統或重啓系統,使修改生效

二·設置ACL權限

1)

getfacl     [文件名]                    //查看acl權限;
setfacl     [選項]    [文件名]                    //設定ACL權限的命令;

選項:
-m:設定ACL權限;
-x:刪除指定的ACL權限;
-b:刪除所有的ACL權限;
-d:設定默認ACL權限;
-k:刪除默認ACL權限;
-R:遞歸設定ACL權限;

爲用戶設定ACL權限

setfacl -m u:用戶名:rwx 文件名

爲用戶組設定ACL權限

setfacl -m g:組名:rwx 文件名

2)最大有效權限mask(使用命令getfacl 文件名顯示的結果中倒數第二排會出現mask這個詞)mask是用來指定最大有效權限的。如果我給用戶賦予了acl權限,是需要和mask的權限“相與”才能得到用戶的真正權限。相與是計算機中的術語,皆真方爲真,有假便爲假。
※最大權限也會影響到組權限
(例:某文件所有者爲tony,chmod賦予的普通權限爲7,而acl賦予tony的權限爲5,則acl權限會高於chmod權限)

1.修改mask值的命令 setfacl -m m:rx 文件
2.刪除acl權限的命令 
setfacl -x u:用戶名 文件 (刪除指定用戶的acl權限)
setfacl -x g:組名 文件 (刪除指定用戶的acl權限) 
setfacl -b 文件 (刪除所有的acl權限)

3)Linux中默認ACL權限和遞歸ACL權限

1.ACL 目錄下的子目錄 這就需要遞歸

遞歸是父目錄在設定ACL權限時,所有的子文件和子目錄也會擁有相同的ACL權限

遞歸只能對目錄設置,不能對文件

-R 選項:設置遞歸

例:

setfacl -m u:user1:rx -R /adult

對目錄使用遞歸權限 本來不想給權限 結果給了 出現權限溢出

不是默認的ACL權限 命令執行之後新建的目錄不會有ACL權限

2.默認的ACL權限

默認ACL權限的作用時如果給父目錄設定了默認的ACL權限,那麼父目錄中所有新建的
文件都會繼承父目錄的ACL權限

setfacl -m d:u:user1:rw -R /home/adult

d表示 default 默認

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章