Linux權限管理:ACL 權限

1、ACL 是什麼
  ACL的全稱是 Access Control List (訪問控制列表) ,一個針對文件/目錄的訪問控制列表。它在UGO權限管理的基礎上爲文件系統提供一個額外的、更靈活的權限管理機制。它被設計爲UNIX文件權限管理的一個補充。ACL允許你給任何的用戶或用戶組設置任何文件/目錄的訪問權限。
2、ACL有什麼用
  既然是作爲UGO權限管理的補充,ACL自然要有UGO辦不到或者很難辦到的本事,例如:
    1:可以針對用戶來設置權限
    2:可以針對用戶組來設置權限
    3:子文件/目錄繼承父目錄的權限
  查詢ACL功能是否啓用(默認都啓用)
3、啓ACL功能
  cat /boot/config-3.10.0-693.el7.x86_64 | grep -i xfs
4、設置ACL(centos7下的命令行)

setfacl 2.2.51 -- 設定文件訪問控制列表
用法: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...
  -m, --modify=acl 更改文件的訪問控制列表
  -M, --modify-file=file 從文件讀取訪問控制列表條目更改
  -x, --remove=acl 根據文件中訪問控制列表移除條目
  -X, --remove-file=file 從文件讀取訪問控制列表條目並刪除
  -b, --remove-all 刪除所有擴展訪問控制列表條目
  -k, --remove-default 移除默認訪問控制列表
      --set=acl 設定替換當前的文件訪問控制列表
      --set-file=file 從文件中讀取訪問控制列表條目設定
      --mask 重新計算有效權限掩碼
  -n, --no-mask 不重新計算有效權限掩碼
  -d, --default 應用到默認訪問控制列表的操作
  -R, --recursive 遞歸操作子目錄
  -L, --logical 依照系統邏輯,跟隨符號鏈接
  -P, --physical 依照自然邏輯,不跟隨符號鏈接
      --restore=file 恢復訪問控制列表,和“getfacl -R”作用相反
      --test 測試模式,並不真正修改訪問控制列表屬性
  -v, --version           顯示版本並退出
  -h, --help              顯示本幫助信息

5、查詢ACL
  getfacl 2.2.51 -- 獲取文件訪問控制列表

使用方法: getfacl  [-aceEsRLPtpndvh]  文件 ...
  -a,  --access           僅顯示文件訪問控制列表
  -d, --default           僅顯示默認的訪問控制列表
  -c, --omit-header     不顯示註釋表頭
  -e, --all-effective     顯示所有的有效權限
  -E, --no-effective      顯示無效權限
  -s, --skip-base         跳過只有基條目(base entries)的文件
  -R, --recursive         遞歸顯示子目錄
  -L, --logical           邏輯遍歷(跟隨符號鏈接)
  -P, --physical          物理遍歷(不跟隨符號鏈接)
  -t, --tabular           使用製表符分隔的輸出格式
  -n, --numeric           顯示數字的用戶/組標識
  -p, --absolute-names    不去除路徑前的 '/' 符號
  -v, --version           顯示版本並退出
  -h, --help              顯示本幫助信息

    

6、更改 ACL 權限
  -m 選項其實是在更改文件和目錄的 ACL 權限
  當一個用戶或組的 ACL 權限不存在時,-m 選項執行的是添加操作
  如果一個用戶或組的 ACL 權限已經存在時,-m 選項執行的是更新操作。

  我們重新創建一個  /protected 目錄,通過下面的命令設置 xiaohong 用戶對它的訪問權限:
    setfacl -m u:xiaohong:rwx /protected
    

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章