之前說的都是在使用者及系統檔案的管理問題,都是針對三類人而設計的,所有者,所有組,其他人。那有沒有真正考慮過,有某些檔案就是針對某一些人群而定製的。例如,電腦的**要指定的人才能看哦,不然會出大問題的;那該如何是好,這時acl就派上了用場。
acl的功能可以指定特定的檔案給不屬於此檔案的三類人的,特定的使用者所使用,更加擴充套件了檔案許可權的可用性。
先來兩個例子練下手:
環境設定:新建乙個file1檔案把所有許可權都刪除,如下:現在除了root使用者,其他所有的使用者都無法訪問;
[suyingjie@localhost data]$ cat file1
cat: file1: permission denied
我單單給suyingjie這個使用者有訪問的許可權;
[root@localhost data]
# setfacl -m u:suyingjie:rwx file1
查詢下file1的許可權;
[root@localhost data]
# getfacl file1
# file: file1
# owner: root
# group: root
user::---
user:suyingjie:rwx
group::---
mask::rwx
other::---
這時用suyingjie使用者檢視下file1,已經可以成功訪問了。
[suyingjie@localhost data]$ cat file1
rootline1
哎,來查詢下file1的許可權哈:
[suyingjie@localhost data]$ ll file1
----rwx---+ 1 root root 10 oct 13 05:12 file1
仔細的同學應該發現了有點這個許可權有問題吧,為什麼原來看屬組的位置有rwx,然後多了乙個+號呢;其實是這樣子的,這裡的屬組位是稱為mask,是所有acl許可權的最高限值。也是所有acl許可權的相加的結果的,後面的+號就是設定acl需有的標識;
引數說明下:
-m :新建acl記錄;u:針對使用者新建acl;g:針對組來建立;d:設定預設許可權;-r用來對目錄用許可權遞迴;-x 刪除acl許可權;-b 刪除全部指定檔案的全部acl;
下面的例子說明下;
[root@localhost dir]
# setfacl -x u:suyingjie test
#刪除了針對suyingjie這個使用者的acl;
[root@localhost dir]
# setfacl -x g:suyingjie test
#刪除了針對suyingjie這個組的acl;
[root@localhost dir]
# setfacl -b test
#刪除了設定在test檔案的全部acl;
getfacl + 檔名:是檢視所設定的acl;
我們來看乙個某浪的面試題吧:
[root@localhost data]
# ll -d dir
drwxr-sr-x. 2 root webs 6 oct 13 05:58 dir
[root@localhost data]
[root@localhost data]
第三步:同上
[root@localhost data]
# setfacl -rm g:dbs:r dir/
[root@localhost data]
# setfacl -rm d:g:dbs:r dir/
第四步:設定所有者沒有許可權
[root@localhost data]
# setfacl -rm o::0 dir/
最後我們來看下dir這個目錄最終的acl許可權吧:
[root@localhost data]
# getfacl dir/
# file: dir/
# owner: root
# group: webs
# flags: -s-
user::rwx
group::r-x
group:dbs:r--
mask::rwx
other::---
default:user::rwx
default:group::r-x
default:group:dbs:r--
default:mask::rwx
default:other::r-x
上面很清楚可以看下,使用者,使用者組的acl;
這時你應該大概了解了這個acl的作用吧。
Linux基礎知識 回顧
windows 碟符 linux 目錄 這個把分割槽和目錄對應的過程叫做掛載 mount。swap交換分割槽 解決的辦法是在硬碟上劃出乙個區域來當作臨時的記憶體,好像記憶體變大了。windows作業系統把這個區域叫做虛擬記憶體,linux把它叫做交換分割槽swap。安裝linux時候建立交換分割槽時...
Linux學習之一 開機必備知識
linux最重要的特色是指令互動,利用乙個個指令來進行各種操作。當然可以用x window獲得友好的linux視窗,但是還是有很多侷限性。linux使用者登入後預設進入 root目錄下。比較重要的鍵有 tab 補全指令 ctrl c 中斷目前程序 ctrl d 退出文字介面 可以用man和info指...
MySQL知識回顧 MySQL基礎知識回顧
markdownpad document mysql mysql 是用於管理檔案的乙個軟體 服務端軟體 socket服務端 本地檔案操作 解析指令 sql語句 客戶端軟體 各種各樣 socket客戶端 傳送指令 解析指令 sql語句 ps dbms 資料庫管理系統 sql語句 需要掌握的技能 安裝 ...