ACL權限實例詳解

CentOS7當中,無論是操作系統安裝時還是之后手工創建的文件系統(xfs、ext4)均會開啟ACL功能。

CentOS6及之前的版本,僅操作系統安裝時創建的文件系統才會默認開啟ACL,手工創建的文件系統,需要手工開啟ACL

功能。

Acl如何設置

ACL權限實例詳解

創建分區

ACL權限實例詳解

mount -o acl /dev/sda7  取消的方式,重新掛載時不指定即可

tune2fs -o acl /dev/sda7 取消的方式 tune2fs -o ^acl /dev/sda7

ACL權限實例詳解

ACL權限實例詳解

ACL權限實例詳解

這里的feiyan1 ,liluo2,qingchen3都是人名,加上1,23只是為了方便看

  Liluo2group組里,f1屬于feiyan1這個人,屬于liluo2這個組

Group權限是rw-,liluo2只能對文件f1進行讀操作,rw-相當于是r

 下面把group的權限改為了rwx,liluo2屬于group組成員,理論上也應當具有rwx權限

而實際上liluo2只具有rw-也就是只有r權限,和原來一樣權限并沒有改變,這樣為什么呢?

  因為在設置了Acl以后,group的位置就被umask占了,所以你看到的原來組的位置實際上是umask的權限,一旦設置了acl,原來組的權限就無法改變了,原來group權限是什么就是什么,雖然設置acl后無法改變但依然生效,即使你使用了g+rwx 組的權限依然不變,變的是umask

實例如下:

ACL權限實例詳解

權限的優先順序

   文件的owner權限優先于acl權限

ACL權限實例詳解

ACL權限實例詳解

ACL權限判斷的順序

先判斷是否是文件的OWNER,如果是,則執行OWNER的權限后結束,如果不是OWNER,則判斷是否是ACLUSER,如果是則執行USER權限后結束,如果不是ACLUSER, 則判斷是否屬于GROUPACL GROUP,如果是,則取最大權限(兩個權限的并集)。如果不屬于任何GROUP,則執行OTHER。  原生的groupacl group沒有優先的關系,權限組合一起使用

我們之前設置的都是基于當前已存在的文件生效的,那么要想對于為來創建的文件也有acl權限(未來新創建的文件創建既有acl權限)該怎么做呢?

ACL權限實例詳解

作用如圖

ACL權限實例詳解

那么在liluo2用戶下創建的新文件有沒有acl屬性呢,我們來看實驗

發現依然有acl屬性

ACL權限實例詳解

setfacl -m d:u:liluo2:rwx f2   設置這句之后發現只要是在f2下新創建的都會創建自帶acl屬性    —-這就是我們說的默認屬性,但是對當前目錄不生效

練習:

/app目錄下創建一個名為d1的目錄,要求其owner,group均為root,權限設置為755。要求guanyu用戶對該目錄及所有用戶在其下創建的新文件新目錄均有rwx權限

設置ACL默認權限,僅影響新創建的文件及目錄,不影響當前。

實驗中guanyu換成了feiyan1

ACL權限實例詳解


setfacl -x d:sunquan d11 刪除一條默認權限

setfacl -k d1 刪除全部默認權限

setfacl -b d1 刪除ACL屬性

 

getfacl -R /app/d1 > acl.txt 將目錄下的所有文件的ACL屬性備份到文件

setfacl -R –set-file=acl.txt  /app/d1   通過文件還原ACL屬性的方法1

setfacl –restore  acl.txt   通過文件還原ACL屬性的方法2

setfacl -R -b /app/d1 清除目錄下所有文件的ACL屬性

小知識點補充:

拿筆劃重點,注意^.的用法

如何恢復家目錄:只要一句命令就好了

恢復家目錄的操作

     ls -a

     rm  -rf .*

     cp -a /etc/skel/.[^.]* .

      ls -al

      Exit  重新登陸就好了,家目錄就回來了,不再演示!

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

(1)
sqjlsqjl
上一篇 2017-07-29 15:18
下一篇 2017-07-29 15:28

相關推薦

  • Linux Basics-重定向與管道:第一部分

    Linux Basics-重定向與管道:第一部分 概述 本教程將介紹 Linux 中重定向標準 IO 流的基本技術。學習: 什么是重定向與標準 IO 流:標準輸入、標準輸出和標準錯誤 各種流和管道的實際應用   前提條件 你應該了解 Linux 基本知識以及擁有一個正常工作的 Linux 系統,在本文說明的實例中,我采用是CentOS 7 內核版本…

    Linux干貨 2016-10-29
  • 20160805作業-正則表達式

    http://note.youdao.com/yws/public/redirect/share?id=1e40165dc16523400e14433e71683963&type=false

    Linux干貨 2016-08-08
  • 行編輯器sed的應用

    sed sed:Stream EDitor,行編輯器 sed是一種流編輯器,它一次處理一行內容,處理時,把當前處理的行存儲在臨時緩沖區中, 稱為“模式空間”(pattern space),接著用sed命令處理緩沖區中的內容,處理完成后, 把緩沖區的內容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末尾。文件內容并沒 有改變,除非你使用重定向存儲輸出。 se…

    Linux干貨 2016-08-10
  • 馬哥教育網絡班20期+第二周博客作業

    1.Linux上的文件管理類命令 2.bash命令學習總結 3.bash命令實例 4.元數據與時間戳 5.命令別名 6.練習題6~12 1.Linux上的文件管理類命令        Linux上的文件管理類命令可分為查看類、目錄管理類、權…

    Linux干貨 2016-06-19
  • HTTP協議

    HTTP協議   HTTP協議是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫,是用于從萬維網(WWW:World Wide Web )服務器傳輸超文本到本地瀏覽器的傳送協議。HTTP是一個基于TCP/IP通信協議來傳遞數據(HTML 文件, 圖片文件, 查詢結果等)。HTTP協議工作于客戶端-服務端架構之上。瀏覽器作為HT…

    Linux干貨 2017-02-15
  • linux基礎第二周

    1.?用chattr命令防止系統中某個關鍵文件被修改:# chattr +i /etc/resolv.conf 然后用mv /etc/resolv.conf等命令操作于該文件,都是得到Operation not permitted 的結果。vim編輯該文件時會提示W10: Warning: Changing a readonly file錯誤。要想修改此文件…

    2017-09-09
欧美性久久久久