【新手向】Centos系統文件權限的系統闡述與演示

 

在linux服務器平常管理中,咱們會常常管理查看文件或者文件夾的權限內容以保證服務的正常運行。
今天就和你們聊聊文件權限的那些事。linux

查看文件的權限狀況能夠用 ll 命令
例:vim

ll -d /kid                #查看此文件(夾)的詳細信息
ll /kid                     #查看此文件夾中文件(夾)的詳細信息

能夠看到如:
drwx-r–r– (一共10個參數) 表示文件所屬組和用戶的對應權限。
第一個參數d屬於特殊權限,與chmod無關,咱們下次再說。其中
第2-4個參數:屬於user (全部者)
第5-7個參數:屬於group (所屬組)
第8-10個參數:屬於others (其餘)服務器

接下來就簡單了:r==>可讀; w==>可寫; x==>可執行
r=4 w=2 x=1spa

因此755表明 rwxr-xr-x
全部者具備讀寫執行權限,所屬組具備讀和執行權限,其餘人只有執行權限。code

因此用chmod命令改變文件權限時blog

chmod 777 /文件名/ #表明 rwxr-rwx-rwx 全部用戶均可讀可寫可執行。
固然chmod還有其餘用法,如:遞歸

chmod u+x  /文件名/                   #給u(user)加上x(執行)權限
chmod -R  777 /文件夾/              #給此文件夾下所屬文件夾和文件都賦予777權限 R表明遞歸

這時候你可能要問了,如何判斷一個文件的user和group呢?rem

其實很簡單,如下面代碼爲例get

drwxrwsrwx 4 root root 4096 Jan 17 22:07 /kid/
標粗部分,第一個root表明user (全部者),第二個root表明group (所屬組)it

若是你想更改一個文件的group (所屬組)也很簡單,使用chown命令便可

chown root:kid /文件名/ #將此文件的全部者改成root,所屬組改成kid組

上面咱們講了linux中文件權限的基礎內容。下面咱們深刻的瞭解一下文件權限的內容:ACL

第一個問題:ACL是什麼?

用通俗的話來講就是:原本對於一個文件/目錄來講,只有三種人,user、group、other,如今來了第四我的,可是我要給他的權限與前三個不同,因此,這時候我就要用到ACL,額外給他一個不同的權限。

第二個問題:如何使用ACL?

在使用ACL以前,咱們須要查看文件所在的分區是否支持ACL權限。由於ACL權限的使用須要分區的支持。

如何查看分區是否支持ACL權限?

dumpe2fs -h /dev/vda1
-h 僅顯示超級塊中的信息,而不顯示磁盤塊組的詳細信息。

看到紅框內的內容,就表明此分區支持acl權限,通常來講也是默認支持的。
這裏再告訴你們一個查看系統分區的命令

df -h #查看系統分區
那麼若是萬一分區不支持ACL怎麼辦?

有兩種方法

第一種:臨時開啓ACL

mount -o remount,acl / 從新掛載根分區,並加入acl權限
第二種:永久開啓ACL

vim /etc/fstab
/dev/vda1 / ext3 defaults,acl 1 1 #在ext3(文件系統)後一列加上,acl便可永久開啓ACL
mount -o remount / # 從新掛載或重啓使其生效
終於到設定ACL權限的環節了!
如何設定ACL權限?

acl操做基本命令:

setfacl 選項 文件名
-m 設定acl權限
-x 刪除指定acl權限
-b 刪除全部acl權限
-d 設定默認acl權限
-k 刪除默認acl權限
-R 遞歸設定acl權限
具體操做示例:

setfacl   -m     u:用戶名:rwx       文件名         #給某個用戶設定rwx權限
setfacl   -m     g:組名:rwx          文件名          #給某個組設定rwx權限

使用getfacl命令查看acl權限

紅框內能夠看到kxkid用戶已經獲取到了讀和執行權限

在上圖,咱們能夠user下有一個mask設定,那麼
在acl中mask是什麼?

最大有效權限mask:mask是用來指定最大有效權限的。若是我給用戶賦予了acl權限,是須要和mask權限「相與」才能獲得用戶的真正權限。

以上圖爲例,mask權限爲r-x,那麼,即便acl權限爲rwx,與mask相與後,仍然只有r-x權限。

如何設定msak最大有效值?

setfacl -m m:rwx 文件名 #設定mask爲rwx
其餘setfacl命令示例:

setfacl    -x       u:用戶名            文件名 
setfacl    -b       文件名 
setfacl    -m      u:用戶名:權限     -R(只能加這)  文件名      #遞歸建立,做用於父目錄與全部子目錄設置acl,即已經存在的文件設置,如果新建目錄/文件,則沒有acl 
setfacl    -m      d:u:用戶名:權限   文件名                        #設定默認,若之後在此目錄裏建立新文件/目錄都默認有acl權限

提醒:如果在遞歸建立以後,在設定默認建立以前建立的新文件,則不受這兩個的影響,須要單獨設定

以上就是關於linux 文件權限和acl權限的全部內容,要想熟練使用,還須要本身多加練習!
下次有時間和你們聊一聊文件特殊權限的內容,但願你們喜歡

本文轉載自騰雲閣,已得到做者受權。

相關文章
相關標籤/搜索