1. 程式人生 > >文件權限的管理以及acl權限列表

文件權限的管理以及acl權限列表

ls -l 容量 ash student -- shell src 必須 查看

ls -l? 文件名稱

技術分享圖片

上面的命令以長格式顯示文件與目錄,每一行都是一個文件或目錄的屬性數據,每個文件或子目錄的屬性數據又以7個字段顯示,各個字段的說明如下:

(1)文件類型與權限:該字段共有10個字符,第一個字符表示文件的類型,剩下的9個字符表示文件的權限狀態。

文件類型:

  • - ? ?#普通文件
  • d ? ?#目錄
  • s ? ?#socket套接子
  • l ? ?#軟鏈接
  • p ? ?#管道
  • c ? ?#字符設備
  • b ? ?#塊設備

權限狀態:

rw-|rw-|r--
?@ $ *
?@ ? ?#文件擁有者對文件能做的動作

?$ ? ?#文件所在組的組成員能對文件做的動作

* ? ?#其他人對與文件能做的動作

(2)連接數:表示該文件所建立的連接的數量

(3)文件擁有者:表示擁有該文件的用戶賬號

(4)文件所屬組:表示擁有該文件的組賬號

(5)文件的容量:默認以byte為單位進行計算,表示文件的大小

(6)創建時間:創建這個文件的日期

(7)文件名:文件的名稱

監控命令? watch -n 1 ls -lR hello

初始狀態如下:

技術分享圖片

chown username file|dir ##更改文件的所有人

技術分享圖片

chgrp groupname file|dir ##更改文件的所有組

技術分享圖片

chown username.groupname file|dir ##更改所有人所有組

技術分享圖片

chown -R username dir ##更改目錄本身及裏面所有內容的所有人

技術分享圖片

chgrp -R groupname dir ##更改目錄本身及裏面所有內容的所有組

技術分享圖片

實驗之後整體的效果如下:

技術分享圖片

rw- | r-- | r--

用戶權限(u) 組成員權限(g) 其他用戶權限(o)

u優先匹配,g次優先,o當u,g不匹配時匹配

權限針對目錄或文件有不同的種類

r權限針對文件,表示可以查看文件內容

r權限針對目錄,表示可以ls 查看目錄中存在的文件名稱

w權限針對文件,表示可以更改文件的內容

w權限針對目錄,表示是否可以刪除目錄中的子文件或者子目錄

x權限對於文件,表示是否可以開啟文件當中記錄的程序

x權限對於目錄,表示是否可以進入目錄中

字符方式修改文件的權限:chmod [-R] <u|g|o><+|-|=><r|w|x> file|dir

舉例如下:

技術分享圖片

對象和權限的組合方式多樣,不再贅述

數字方式修改文件的權限:

各個權限對應的數值: r=4? w=2? x=1 -=0

u=rwx=7 ?|g=rwx=7| o=rwx=7設定方式

umask ##查看系統保留權限,默認為022

umask 077 ##修改該系統保留權限為077,此設定為臨時設定,只在當前shell中生效

技術分享圖片

永久設定方式

vim /etc/bashrc ##shell配置文件

技術分享圖片

修改之前的配置:

技術分享圖片

修改之後的配置:

技術分享圖片

vim /etc/profile ##系統配置文件

技術分享圖片

修改之前的配置:

技術分享圖片

修改之後的配置:

技術分享圖片

兩個修改的umask值必須一致!

然後再進行下面兩行命令:

source /etc/profile

source /etc/bashrc

重新讀取,讓設定立即生效

acl ?## 指定特定的用戶對特定的文件擁有特殊權力

-rw-rwx---+ 1 root root 0 Mar 28 02:39 file

+表示權限列表開啟

設定acl列表

setfacl -m u:username:rwx file ? ?#設定用戶對file文件可以讀寫執行

setfacl -m g:group:rwx? file ?#設定組對文件可以讀寫執行

setfacl -x u:username? file ? ?#在權限列表中刪除用戶的信息

setfacl -x g:group ? file ?#在權限列表中刪除student組的信息

setfacl -b file ? ? ?#關閉權限列表那麽,"+"消失

技術分享圖片

這個文件的普通權限也在權限列表中識別,ls -l 看到的權限是不準確的

這時就要用到命令 getfacl 來查看權限列表的相關內容

getfacl file

#內容如下:

file:file ? ?#文件名稱

# owner: root ? ?#文件的擁有者

# group: root ? ?#文件的組

user::rw- ? ?#文件擁有者的權限

user:westos:rw- ? ?#特殊指定用戶的權限

group::--- ? ?#文件組的權限

group:student:rwx ?#特殊指定組的權限

mask::rwx ? ?#權限最大值

other::--- ? ?#其他人的權限

技術分享圖片

mask值

mask值是能夠賦予用戶權限的最大值

當設定acl列表後,如果用chmod命令縮小文件的權限,那麽mask值會被更改

修改之前:

技術分享圖片

修改之後:

技術分享圖片

setfacl -m m:rwx file?? ? ?#用此命令可以恢復mask的值

技術分享圖片

acl列表的默認權限

當我們需求某個目錄對於某個用戶可寫,並且目錄中新建的子目錄對也可寫就要設定默認默認權限

setfacl -m d:u:username:rwx? dir

技術分享圖片

新建文件對xupter用戶有rwx權限
對已經存在的文件無效
對目錄本身無效


文件權限的管理以及acl權限列表