Linux學習之ACL許可權詳解 十

2022-04-04 05:51:39 字數 2862 閱讀 6796

目錄

acl許可權簡介與開啟

檢視與設定acl許可權

最大有效許可權與刪除acl許可權

預設acl許可權和遞迴acl許可權

使用者許可權管理始終是linux系統管理中最重要的環節。大家對linux/unix的ugo許可權管理方式一定不陌生,還有最常用的chmod命令。

為了實現一些比較複雜的許可權管理,往往不得不建立很多的組,並加以詳細的記錄和區分。

有一種方法可以實現靈活的許可權管理(檔案的額外賦權機制)除了檔案的所有者,所屬組和其他人,可以對更多的使用者設定許可權,這就是訪問控制列表(access control list)。

acl許可權是需要分割槽支援的,預設情況下分割槽是支援的,如果不支援就需要開啟acl許可權。

這裡只做介紹,可以跳過,因為現在linux系統分割槽預設支援acl。

兩種方法:

臨時開啟acl許可權:

mount -o remount,acl /

永久開啟分割槽acl許可權

1.vi /etc/fstab

2.mount -o remount /

第一種方法很簡單,下面只介紹第二種方法

開啟檔案

在第一行有效行的defaults後面加上acl

然後重新掛載一次根分割槽

mount -o remount /

setfacl [選項] 檔名

getfacle 檔名
比如有如下場景:

某大牛在qq群內直播講解linux系統的許可權管理,講解完之後,他在乙個公有的linux系統中建立了乙個 /project 目錄,裡面存放的是課後參考資料。那麼 /project 目錄對於大牛而言是所有者,擁有讀寫可執行(rwx)許可權,對於qq群內的所有使用者他們都分配的乙個所屬組裡面,也都擁有讀寫可執行(rwx)許可權,而對於 qq 群外的其他人,那麼我們不給他訪問/project 目錄的任何許可權,那麼 /project 目錄的所有者和所屬組許可權都是(rwx),其他人許可權無。

問題來了,這時候直播有旁聽的人參與(不屬於qq群內),聽完之後,我們允許他訪問/project目錄檢視參考資料,但是不能進行修改,也就是擁有(r-x)的許可權,這時候我們該怎麼辦呢?我們知道乙個檔案只能有乙個所屬組,我們將他分配到qq群所在的所屬組內,那麼他擁有了寫的許可權,這是不被允許的;如果將這個旁聽的人視為目錄/project 的其他人,並且將/project目錄的其他人許可權改為(r-x),那麼不是旁聽的人也能訪問我們/project目錄了,這顯然也是不被允許的。怎麼解決呢?

下面 我們 來完成這整個過程 

第一步:建立乙個/project目錄

第二步:新建兩個使用者(在這個場景裡屬於群內學員)

第三步:新建乙個組

第四步:將兩個使用者新增到組裡面

第五步:更改目錄的所有者和所屬組 

第六步:賦予許可權770

第七步:檢視許可權

第八步:新建乙個使用者 (別的群的學員)

第九步:給這個使用者設定acl許可權,許可權為r-w

第十步:檢視/project的acl

可能會有點不好理解,什麼意思呢?

如果a為mask許可權 ,b為acl許可權,and為使用者的有效許可權

其實到這裡,大家就會明白,mask許可權是用來約束使用者許可權的,如果我們給使用者給的acl許可權過大就不好了,所以我們事先把mask許可權設定好,這樣使用者的有效許可權就不會超過mask許可權了。

檢視mask許可權

getfacl 檔名

設定mask許可權

setfacl -m m:許可權 檔名

刪除指定使用者的 acl 許可權

setfacl -x u:使用者名稱 檔名
刪除指定使用者組的 acl 許可權

setfacl -x g:組名 檔名
刪除檔案的所有 acl 許可權

setfacl -b 檔名
通過加上選項 -r 遞迴設定檔案的 acl 許可權,所有的子目錄和子檔案也會擁有相同的 acl 許可權。

setfacl -m u:使用者名稱:許可權 -r 檔名
如果給父目錄設定了預設的 acl 許可權,那麼父目錄中所有新建的子檔案會繼承父目錄的 acl 許可權。

setfacl -m d:u:使用者名稱:許可權 檔名

linux之ACL許可權學習筆記

在linux中我們接觸到的常見的許可權有三種身份 owner,group,others 搭配三種許可權 r,w,x,分別可用數字4 2 1表示 現在描述乙個場景 講授linux的jack老師建立了乙個資料夾 directory,hanson和bill屬於助教組,jack和助教組一起向資料夾direc...

Linux學習 ACL許可權

acl許可權是為了防止許可權不夠用的情況,一般的許可權有所有者 所屬組 其他人這三種,當這三種滿足不了我們的需求的時候就可以使用acl許可權 dumpe2fs命令是查詢指定分割槽詳細檔案系統資訊的命令 此時顯示預設的掛載設定為acl mount o remount,acl 重新掛載根分割槽,並掛載加...

Linux許可權管理之設定ACL許可權

ps 乙個使用者既不屬於檔案的所有者u,所屬組人員g也不屬於其他人o,那麼他想訪問伺服器裡面的檔案則需要給他設定acl許可權,這樣他才有訪問該檔案的許可權。檢視當前系統有哪些分割槽 df h 檢視指定分割槽詳細檔案資訊 dumpe2fs h 分割槽路徑 下面是檢視 根分割槽 的詳細檔案資訊 臨時開啟...