①ACL:Access Control List,實現(xiàn)靈活的權(quán)限管理;除了文件的所有者斩祭,所屬組和其它人,可以對更多的用戶設(shè)置權(quán)限乡话。
? ? ? ? ? CentOS7 默認(rèn)創(chuàng)建的xfs 和ext4 文件系統(tǒng)具有ACL 功能
? ? ? ? ? CentOS7 之前版本摧玫,默認(rèn)手工創(chuàng)建的ext4 文件系統(tǒng)無ACL功能, 需手動增加
eg:
②如何使用ACL
使用setfacl命令(set file acl)可以設(shè)置acl.
eg:
使用getfacl可以查看文件的acl設(shè)置情況
eg:
值得注意的是,在acl中也有先后的匹配問題:
eg:
該試驗表明ACL的生效順序為:所有者绑青,自定義用戶诬像,自定義組,其他人闸婴。
一些常用的acl命令:
setfacl -m u:wang:rwx file|directory ? ?
setfacl -Rm g:sales:rwX directory ? ?
setfacl -M file.acl file|directory
setfacl -m g:salesgroup:rw file| directory
setfacl -m d:u:wang:rx directory
setfacl -x u:wang file |directory
setfacl -X file.acl directory
setfacl -k dir ? ? ? 刪除默認(rèn)ACL 權(quán)限
setfacl –b file1 ? ? ? ? ?清除所有ACL 權(quán)限
getfacl file1 | setfacl --set-file=- file2 ? ? ? ?復(fù)制file1
mask:
設(shè)置了acl權(quán)限之后坏挠,所屬組的權(quán)限變成了mask的權(quán)限,mask表示了最高權(quán)限邪乍。(相當(dāng)于定義了一個高壓線)
mask只影響除所有者和other的之外的人和組的最大權(quán)限Mask需要與用戶的權(quán)限進(jìn)行邏輯與運算后降狠,才能變成有限的權(quán)限。用戶或組的設(shè)置必須存在于mask權(quán)限設(shè)定范圍內(nèi)才會生效
setfacl-m mask::rx file
--set選項會把原有的ACL項都刪除庇楞,用新的替代榜配,需要注意的是一定要包含UGO的設(shè)置,不能象-m一樣只是添加ACL就可以
eg:
setfacl --set u::rw,u:wang:rw,g::r,o::-file1