文件的權限詳解(二)ACL篇

文件的權限詳解(二)ACL篇

ACL訪問控制列表作用

1、 ACL:Access Control List,實現靈活的權限管理
2、 除了文件的所有者,所屬組和其它人,可以對更多的用戶設置權限
3、 CentOS7.0默認創建的xfs和ext4文件系統有ACL功能。
4、 CentOS7.X之前版本,默認手工創建的ext4文件系統無ACL功能。需手動增加:

tune2fs –o acl /dev/sdb1
mount –o acl /dev/sdb1  /mnt

5、 ACL生效順序:所有者,自定義用戶,自定義組,其他人

 ACL使用兩個命令來對其進行控制

 getfacl:取得某個文件/目錄的ACL設置項目
 setfacl:設置某個文件/目錄的ACL設置項目

setfacl命令

作用:設置文件訪問控制列表的命令
語 法:
格 式1:setfacl [-bkndRLPvh] [{-m|-x} acl_spec] [{-M|-X} acl_file] file…
格 式2:setfacl  –restore=file

參 數:

  • -m設置后續acl參數

    setfacl  -m u:wang:rwx file|directory  設置wang用戶對文件或目錄具有讀寫執行權限
    setfacl  -m g:salesgroup:rw file| directory  設置組用戶對文件或目錄的讀寫執行權限
  • -x刪除后續acl參數

         setfacl  -x u:wang file |directory  刪除wang用戶對文件的訪問限制
  • b,–remove-all:刪除所有擴展的acl規則,基本的acl規則(所有者,群組,其他)將被保留。

                setfacl -b file1清除所有ACL權限
  • k,–remove-default:刪除缺省的acl規則。如果沒有缺省規則,將不提示。

     setfacl -k dir 刪除默認ACL權限
  • m重新計算有效權限,即使ACL mask被明確指定。

  • d,--default:設定默認的acl規則;以后這個目錄下創建的文件都將具有此權限

        setfacl  -m d:u:wang:rx directory
  • -R,–recursive:遞歸的對目前該目錄下所有文件及目錄進行操作。

        setfacl  -Rm g:sales:rwX directory
  • –  getfacl file1 | setfacl –set-file=- file2  復制file1的acl權限給file2

  • –restore=file:從文件恢復備份的acl規則(這些文件可由getfacl -R產生)。通過這種機制可以恢復整個目錄樹的acl規則。此參數不能和除–test以外的任何參數一同執行

-n      ,–no-mask:不要重新計算有效權限。setfacl默認會重新計算ACL mask,除非mask被明確的制定。
-L      ,–logical:跟蹤符號鏈接,默認情況下只跟蹤符號鏈接文件,跳過符號鏈接目錄。
-P      ,–physical:跳過所有符號鏈接,包括符號鏈接文件。
–test    :測試模式,不會改變任何文件的acl規則,操作后的acl規格將被列出。


    標識命令行參數結束,其后的所有參數都將被認為是文件名。

    如果文件名是-,則setfacl將從標準輸入讀取文件名。

其他:

以文本文件方式批量設置acl權限 -M

[root@localhost qiuzhaoxian]# cat acl.test 
u:qzx:---
u:user1:rwx
u:user2:r
u:user3:7
g:gentoo:0
g:user4:rx
[root@localhost qiuzhaoxian]# setfacl -M acl.test 123
[root@localhost qiuzhaoxian]# getfacl 123
# file: 123
# owner: xiaoming
# group: xiaoming
user::rwx
user:qzx:---
user:user1:rwx
user:user2:r--
user:user3:rwx
group::rwx
group:user4:r-x
group:gentoo:---
mask::rwx
other::---

– X 以文本方式批量刪除文件acl(本來有刪除對應的acl權限)acl權限

[root@localhost qiuzhaoxian]# cat bbb.test 
u:user1
u:user2
u:user3
[root@localhost qiuzhaoxian]# setfacl -X bbb.test 123
[root@localhost qiuzhaoxian]# getfacl 123
# file: 123
# owner: xiaoming
# group: xiaoming
user::rwx
user:qzx:---
group::rwx
group:user4:r-x
group:gentoo:---
mask::rwx
other::---

以參考文件的acl權限設置目標文件

[root@localhost qiuzhaoxian]# mkdir 456
[root@localhost qiuzhaoxian]# getfacl 123 | setfacl --set-file=- 456
[root@localhost qiuzhaoxian]# getfacl 456
# file: 456
# owner: root
# group: root
user::rwx
user:qzx:---
group::rwx
group:user4:r-x
group:gentoo:---
mask::rwx
other::---

注:setfacl –set-file= 這里的=后邊的-表示從標準輸入讀取文件
這里的- 可以換成文件(當備份恢復時用)

–set選項會把原有的ACL項都刪除,用新的替代,需要注意的
是一定要包含UGO的設置,不能象-m一樣只是添加ACL就可以.
如:
 setfacl –set u : : rw , u : qzx: rw , g : : r , o::- file1

備份和恢復ACL

#getfacl -R /tmp/dir1 > acl.txt#setfacl -R -b /tmp/dir1
#setfacl -R  --set-file=acl.txt /tmp/dir1#getfacl -R /tmp/dir1

關于mask

mask只影響除所有者和other的之外的人和組的最大權限
Mask需要與用戶的權限進行邏輯與運算后,才能變成有限的權限

一旦設置acl mask后 所屬組權限就變成mask權限
也就是說用chmod g=wx  文件  那么mask也將編程wx

用戶或組的設置必須存在于mask權限設定范圍內才會生效。
設置方式

setfacl -m mask::rx file

原創文章,作者:qzx,如若轉載,請注明出處:http://www.www58058.com/28909

(0)
qzxqzx
上一篇 2016-08-05
下一篇 2016-08-05

相關推薦

  • 開班第一天,新獲得的技能

    新接觸命令 lscpu 顯示CPU信息 gedit 文件名 類似于記事本 ** 注意 這個命令適用于圖形界面。 cat /proc/partition 顯示分區信息 cat /proc/meminfo 顯示內存大小 cat /proc/swaps 顯示虛擬內存 cat …

    Linux干貨 2017-02-17
  • linux 哲學思想

    一切皆文件:普通文件,目錄、字符設備、塊設備、套接字在linux中都是以文件被對待;雖然類型不通,但是對其提供得卻都是統一套操作界面。 由眾多的單一程序,一個程序只實現一個功能,多個程序組合完成負責任務。單一的程序可以保持高效的執行效率,對于復雜的功能linux通過許多簡單程序組合等方式實現,在保證簡單程序的高效性同時,復雜的程序也必然是高效性的。 文本文件…

    Linux干貨 2017-08-19
  • 重定向和管道

    1.Linux給程序提供三種I/O設備 標準輸入-0    默認接受來自鍵盤的輸入 標準輸出-1    默認輸出到終端窗口 標準錯誤-2    默認輸出到終端窗口 在dev下有個fd設備,打開的文件都有一個fd:file dexcriptor 文件描述符 I/O重定向:…

    2017-07-20
  • 第15天:腳本關鍵字,函數

    http://note.youdao.com/noteshare?id=2ea9bcdf745a47bf65f0cef6e706ccaf

    Linux干貨 2016-09-06
  • LVM組件詳解&創建實驗流程

       前言:根據前面的學習我們知道,一個磁盤一旦分完區并且格式化后,其空間大小是沒有辦法進行調整了。因此推出了LVM(Logical Volume Manager)邏輯卷管理機制,LVM重點在于可以彈性的調整文件系統的容量!并非在于性能和數據保全方面,需要文件的讀寫性能或者數據的可靠性,需要用到RAID。而LVM可以整合多個物理…

    Linux干貨 2016-08-30
  • 邏輯卷(LVM)管理實例詳解

    LVM基本術語 下面是LVM需要了解的基本術語:    物理卷(PV physical volume): 它可以是物理硬盤上的分區,也可以是整塊物理硬盤;  卷組(VG volume group): 建立在物理卷之上,一個卷組至少包括一個物理卷,可以動態增刪物理卷;  邏輯卷(LV logical volume):建立…

    Linux干貨 2016-09-01
欧美性久久久久