一,linux文件系統的ACL主要針對屬主,屬組,以及其餘用戶的r,w,x權限以外的權限進行設置。linux
ACL能夠針對單一用戶、單一文件或目錄來進行r,w,x的權限控制,對於須要特殊權限的使用情況 ide
有必定幫助。如,某一個文件,不讓單一的某個用戶訪問。測試
1)ACL使用兩個命令來對其進行控制3d
getfacl:取得某個文件/目錄的ACL設置項目blog
setfacl:設置某個文件/目錄的ACL設置項目遞歸
setfacl 參數get
-m:設置後續acl參數 權限控制
-x:刪除後續acl參數 (刪除個別的,好比刪除某個用戶的acl)it
-b:刪除所有的acl參數class
-k:刪除默認的acl參數
-R:遞歸設置acl,包括子目錄
-d:設置默認acl
例:在/opt下建立一文件r1,將其權限修改成777,並查看其默認ACL權限配置
因爲上面咱們設的權限爲777,能夠看到其它者的權限也是可讀可寫可執行。
# getfacl r1 //得到文件的ACL權限
# file: r1 //文件名
# owner: root //屬主
# group: root //屬組
user::rwx //屬主權限
group::rwx //屬組權限
other::rwx //其它者權限
如今咱們修改其ACL策略,使用用戶zhangsan只有讀取的權限
user:zhangsan:rwx //能夠看到zhangsan單獨的權限爲rwx
如今zhangsan用戶,權限很大,測試一下。
zhangsan對r1有寫的的權限,能夠寫,
下面liming對/opt/r1的acl權限爲只讀
user:liming:r-- //能夠看到zhangsan單獨的權限爲r--
下面測試一下
在寫文件時,會出現-- 插入 -- W10: 警告: 正在修改一個只讀文件。
寫完也沒法保存
除了對單個用戶進行設置外,還能夠對用戶組、有效權限(mask)進行設置如對用戶組設置: g:[用戶組]:[rwx]
注:有效權限(mask) 即用戶或組所設置的權限必需要存在於mask的權限設置範圍內纔會生效
如上面的r1文件,liming已經有了可讀權限,若是咱們把它的有效權限修改成只有寫權限,則設置的acl權限不在有效權限以內,則用戶liming就不可能再查看r1文件中的內容了
setfacl -m m:w r1 //設置有效權限爲只寫
mask::-w- //能夠看到有效權限已經修改爲功
已經不容許liming訪問了
取消ACL