linux下acl權限詳解

安裝軟件包

yum install -y acl

配置acl權限
用於acl權限管理的命令主要有兩個:

setfacl          //設置acl權限
getfacl          //查看acl權

首先來看setfacl
常用參數:

-b:刪除所有擴展的acl規則,基本的acl規則(所有者,羣組,其他)將被保留。
-d:設定默認的acl規則
-R:遞歸的對所有文件及目錄進行操作。
-m:修改文件或目錄的acl規則。
-x:刪除指定acl規則。

以上只列出常用參數,詳細命令幫助可參考:http://man.linuxde.net/setfacl
舉個例子:想讓user1這個用户對~/test目錄擁有全部權限,除了修改所有者或所屬組之外還能怎樣呢?
且往下看。

setfacl -Rm u:user1:rwx ~/test             //使user1用户對test目錄擁有全部權限。

執行以上命令後user1用户即可任意操作~/test目錄。
來看一下這條命令,setfacl,設置acl權限、參數R代表遞歸應用,m修改權限、u代表用户,如果想賦予某個組acl權限就用g,:後邊接的要賦予acl權限的用户名或組名(不填則修改所有者或所屬組的acl權限),緊接着下一個冒號後面跟的就是要賦予這個用户的權限了、最後接要操作的目錄或文件名,就這麼簡單。
再來看一個例子:

setfacl -m d:u::rwx ~/test                //為test目錄下新建的文件或目錄設置默認acl權限,對所有用户生效

如果寫成這樣:

setfacl -m d:u:user1:rwx ~/test

這條命令執行後可以達到什麼目的呢?我猜,聰明的讀者一定猜到了:是給user1創建的文件或目錄設置默認acl權限。
如果你是這樣想的,那麼恭喜你,猜錯了。
這條命令實際的意義其實是給所有用户創建的文件或目錄都加上user1這個用户的rwx的acl權限~
最後再來看下如何刪除acl權限

setfacl -x d:u:user1 ~/test              //刪除~/test目錄中關於user1的默認acl權限
setfacl -b ~/test                        //刪除~/test目錄上所有的acl權限

查看acl權限
查看acl權限使用getfacl命令

getfacl ~/test                           //查看~/test目錄的acl權限

會輸入類似如下內容

另外,當我們執行ls -l時會發現,擁有acl權限的文件或文件夾其linux默認權限後面多一個“+”號。

最後需要注意的是:linux默認權限是優於acl權限的,就是説當liux默認權限和acl權限同時存在時,系統會優先考慮linux默認權限。

linux中root用户無法刪除某個文件的解決方法

root用户登錄,刪除文件:

rm -f  a.txt

刪除不了,提示:

rm: cannot remove 'a.txt': Opreation not permitted

查看權限:

ls -l a.txt
-rwxr--r-- a.txt root root

發現root 用户 有執行文件的權限
再使用 lsattr   命令查看權限:

lsattr a.txt
---i------------ a.txt

發現有一個 i 權限,百度查看此權限,發現 I 權限如下:
不能被刪除、改名、設定連結、寫入或新增數據;
使用   命令撤銷 i 權限:

chattr -i a.txt

再查看:

lsattr a.txt
--------------- a.txt

此時再刪除:

rm -f  a.txt

刪除成功。
本文來源:http://blog.csdn.net/ye1142262478/article/details/51152228

linux下rwx權限與數字對應關係詳解

我們都知道,在linux中權限r對應的數字為4,w對應的數字為2,x對應的數字為1。

那,有沒有人想過為什麼4就代表r?2就代表w?難道是因為讀起來朗朗上口???

實際上,rwx權限在操作系統中,如果有,則是二進制1表示,如果沒有,則是二進制0來表示。那麼,當文件同時擁有rwx權限時,在計算機中權限就被標識成了二進制111,轉換為十進制就變成了4(二進制100,r權限)+2(二進制10,w權限)+1(二進制1,x權限)=7(111,rwx權限),於是乎我們常用的chmod命令後面接的數字是怎麼來的就很清楚咯。