簡介

  1. 什麼是 ACL (Access Control List)?
    1. 提供傳統的 owner,group,others 的 read,write,execute 權限之外的細部權限設定。
    2. ACL 可以針對單一使用者,單一檔案或目錄來進行 r, w, x 的權限規範。
    3. ACL 主要可以針對以下項目來控制權限:
      1. 使用者 (user):可以針對使用者來設定權限;
      2. 群組 (group):針對群組為對象來設定其權限;
      3. 預設屬性 (mask):針對在該目錄下在建立新檔案/目錄時,規範新資料的預設權限。
  2. setfacl:設定 ACL 的狀態。
    [root@demo ~]# setfacl [-bkndRLPvh] [{-m|-x} acl_spec] [{-M|-X} acl_file] file ...
    選項:
    -m :設定後續的 acl 參數給檔案使用,不可與 -x 合用;
    -x :刪除後續的 acl 參數,不可與 -m 合用;
    -b :移除所有的 ACL 設定參數;
    -k :移除預設的 ACL 參數;
    -R :遞迴設定 acl,即包括次目錄都會被設定;
    -d :設定『預設 acl 參數』,只對目錄有效,在該目錄新建的資料會引用此預設值
    acl_spec:
    [d[efault]:] [u[ser]:]uid [:perms]
    [d[efault]:] g[roup]:gid [:perms]
    [d[efault]:] m[ask][:] [:perms]
    [d[efault]:] o[ther][:] [:perms]
    # d 選項,表示該目錄預設有設定的 acl 規範,類似 umask 的功能。