Linux知識回顧之一

2021-09-28 14:39:42 字數 2568 閱讀 5402

之前說的都是在使用者及系統檔案的管理問題,都是針對三類人而設計的,所有者,所有組,其他人。那有沒有真正考慮過,有某些檔案就是針對某一些人群而定製的。例如,電腦的**要指定的人才能看哦,不然會出大問題的;那該如何是好,這時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語句 需要掌握的技能 安裝 ...