檔案就三個許可權:
所有者許可權 組許可權 其他許可權有時候不夠用(如某個檔案許可權是
770
,而想讓老王有5
的許可權,但是老王不是檔案所有者和所屬組),這時候就需要acl
許可權,用來解決使用者身份不夠的問題。
檢視分割槽acl
許可權是否開啟
dumpe2fs -h /dev/sda5
注:
dumpe2fs命令時查詢指定分割槽詳細檔案系統資訊的命令
-h 僅顯示超級塊中資訊,而不顯示磁碟塊的詳細資訊
檔案資訊裡項:
default mount options: user_xattr acl
那就說明分割槽是支援acl
的。
檢視分割槽:df
臨時開啟分割槽acl許可權:
mount -o remount,acl /
重新掛載根分割槽,並掛載加入acl
許可權。
永久開啟分割槽acl
許可權:
vi /etc/fstab
uuid=c2ca6f57-b15c-43ea=bca0-f239083d8bd2 / ext4 defaults,acl 1
(#啟動是否需要檢測)1
(#啟動是否需要備份)
重新掛載檔案系統或重啟系統,使修改生效:
mount -o remount /
檢視acl
許可權:
getfacl 檔名
設定acl
許可權的命令:
setfacl 選項 檔名
選項:
-m:設定acl許可權;
-x:刪除指定的acl許可權;
-b:刪除所有的acl許可權;
-d:設定預設acl許可權;
-k:刪除預設acl許可權;
-r:遞迴設定acl許可權;
為使用者設定acl許可權:
setfacl -m u:使用者名稱:許可權(rwx) 檔名
為使用者組設定acl許可權:
setfacl -m g:組名:許可權(rwx) 檔名
最大有效許可權mask
:(使用命令getfacl
檔名顯示的結果中倒數第二排會出現mask
這個詞)mask
是用來指定最大有效許可權的。如果我給使用者賦予了acl
許可權,是需要和mask
的許可權「相與」才能得到使用者的真正許可權。相與是計算機中的術語,皆真方為真,有假便為假
。
※最大許可權也會影響到組許可權
(例:某檔案所有者為tony
,chmod
賦予的普通許可權為7
,而acl
賦予tony
的許可權為5
,則acl
許可權會高於chmod
許可權)
1.修改mask
值的命令setfacl -m m:rx
檔案
2.刪除acl
許可權的命令
setfacl -x u:使用者名稱 檔案 (刪除指定使用者的acl許可權)
setfacl -x g:組名 檔案 (刪除指定使用者的acl許可權)
setfacl -b 檔案 (刪除所有的acl許可權)
遞迴acl
:指在給父目錄賦予許可權的同時,給已經存在於目錄下的檔案賦予相同的許可權
setfacl -m u:使用者名稱:許可權 -r 目錄名
這裡r
表示遞迴。
注意:
a.用遞迴的方式容易導致檔案許可權溢位
b.遞迴acl
只能用在目錄而不能用於普通檔案
預設acl 許可權 :給父目錄下將來新建的檔案預設賦予父目錄的許可權
setfacl -m d:u:使用者名稱:許可權 目錄名
這裡d
表示defaault
。
補充:linux私房菜·基礎篇(第三版)-- 檔案許可權與目錄配置
Linux許可權管理之基本許可權
一 檔案基本許可權 1.基本許可權修改 rwxr r 檔案型別 檔案 d 目錄 l 軟鏈結檔案 rw r r u所有者 g所屬組 o其他人 r 讀 w 寫 x 執行 chmod 選項 模式 檔名 選項 r 遞迴 模式 ugoa rwx mode 421 許可權的數字表示法 r 4 w 2 x 1 例...
Linux許可權管理 基本許可權
修改許可權命令chmod chmod 選項 模式 檔名選項 r遞迴修改許可權 模式 模式分為兩類 1.ugoa 字母依次代表所屬人,所屬組,其他人和所有人 全部人 在這個模式下,使用 增加或者刪除某個許可權即可。例如 chmod u x 檔名意思即為所屬人增加執行許可權。這種模式使用的並不常見,需要...
Linux許可權管理之設定ACL許可權
ps 乙個使用者既不屬於檔案的所有者u,所屬組人員g也不屬於其他人o,那麼他想訪問伺服器裡面的檔案則需要給他設定acl許可權,這樣他才有訪問該檔案的許可權。檢視當前系統有哪些分割槽 df h 檢視指定分割槽詳細檔案資訊 dumpe2fs h 分割槽路徑 下面是檢視 根分割槽 的詳細檔案資訊 臨時開啟...