天天看點

linux取消acl屬性,linux檔案擴充屬性和ACL

檔案擴充屬性和ACL:

某些檔案想讓其他使用者有權限,而chmod和chown都隻有root才有權限使用,就得需要使用檔案的擴充屬性來實作。

acl:access control list

#lsattr 檢視檔案擴充屬性。能看到有顯示的屬性,但是具體内容都是隐藏的。

#getfacl FILE 檢視相關的檔案擴充資訊。

#setfacl [OPTION] ID:OPEREAND FILE

-m 設定權限

u:UID:PERM 使用者的權限

g:GID:PERM 組的權限

m::PREM 有效權限位。使用以後隻有設定位置的權限有效,其他權限最多能和有效權限一緻,可以少于有效權限。

o::PREM other的權限。

-x 撤銷權限

u:UID 撤銷使用者

g:GID 撤銷組

-b 移除所有的acl表

-k 删除預設設定的acl表,隻有目錄才有預設acl表,讓目錄中的檔案自動繼承的。

u:UID:PERM 使用者的權限

g:GID:PERM 組的權限

預設的acl表要在ID前加D:

d:u:UID:PERM

d:g:GID:PERM

例如:

gentoo使用者建立了一個名為gentoo.c的檔案。現在要給centos使用者相關權限。devgrp是一個組名稱。gentoo是個目錄。

#setfacl -m u:centos:rw gentoo.c

#setfacl -m g:devgrp:rw- gentoo.c

#mkdir gentoo

#setfacf -m d:u:centos:r-- gentoo

#setfacl u:centos:rwx gentoo.c 設定rwx權限

#setfacl -m m::r-- gentoo.c 設定有效權限位

#getfacl gentoo.c

mask::r-- 有效權限位為r--

user:centos:rwx#effcetive:r-- centos使用者權限顯示rwx,但是有效權限位隻有r--。是以centos使用者最終隻有r--的權限。

預設情況下建立的分區挂載是不支援facl的,想要使用facl可以在mount的時候指定使用acl。

例如:

#mount -o acl /dev/sda5 /data

想要開機自動挂載并且使用faacl可以修改/etc/fstab,在其中的選項上添加,acl

即可。

例如:

#vim /etc/fstab

/dev/sda5 /date ext3 default,acl 0 0

或者使用tune2fs -o選項來修改分區資訊。多個選項使用,隔開,使用^可以取消設定。

例如:

#tune2fs -o acl /dev/sda5

#tune2fs -o user_xattr /dev/sda5

#tune2fs -o user_xattr,acl /dev/sda5

#tune2fs -o ^user_xattr /dev/sda5