權限的意義在于允許某一個用戶或某個用戶組以規定的方式去訪問某個文件。
基本權限UGO
首先介紹U、G、O這三個字母所代表的含義。
U:owne,屬主
G:group,屬組
O:other,其他用戶
Linux系統通過U、G、O將用戶分為三類,并對這三類用戶分別設置三種基本權限,這種設置權限的方式稱作UGO方式。
每個文件針對每類訪問者定義了三種主要權限
r:Read 讀,數字設定為4
w:Write 寫 ,數字設定為2
x:execute 執行,數字設定為1
Linux表示 | 說明 | Linux表示 | 說明 |
---|---|---|---|
r-- | 只讀 | -w- | 只寫 |
--x | 僅可執行 | rw- | 可讀寫 |
r-x | 可讀和執行 | -wx | 可寫和執行 |
rwx | 可讀可寫可執行 | --- | 沒有任何權限 |
對于文件和目錄來說,r,w,x有著不同的作用和含義:
針對文件:
r:讀取文件內容
w:修改文件內容
x:執行權限對除二進制程序以外的文件沒什么意義
針對目錄:目錄本質可看做是存放文件列表、節點號等內容的文件
r:查看目錄下的文件列表
w:刪除和創建目錄下的文件
x:可以cd進入目錄,能查看目錄中文件的詳細屬性,能訪問目錄下文件內容(基礎權限)
設置文件屬性與權限
為了數據的安全,系統需要給予不同身份的用戶、用戶組對應的文件權限。下面講解三個常用的修改權限命令。
chown:修改文件屬主、屬組。
chgrp:修改文件屬組。
chmod:修改文件權限。
1.更改文件權限(chmod命令)
chmod [可選項]
設置所有用戶可讀取文件 a.conf
chmod ugo+r a.conf 或 chmod a+r a.conf
設置 c.sh 只有 擁有者可以讀寫及執行
chmod u+rwx c.sh
設置文件 a.conf 與 b.xml 權限為擁有者與其所屬同一個群組 可讀寫,其它組可讀不可寫
chmod a+r,ug+w,o-w a.conf b.xml
設置當前目錄下的所有檔案與子目錄皆設為任何人可讀寫
chmod -R a+rw *
或使用數字權限改寫格式:
設置所有人可以讀寫及執行
chmod 777 file (等價于 chmod u=rwx,g=rwx,o=rwx file 或 chmod a=rwx file)
設置擁有者可讀寫,其他人不可讀寫執行
chmod 600 file (等價于 chmod u=rw,g=---,o=--- file 或 chmod u=rw,go-rwx file )
2.更改文件擁有者(chown命令)
chown [可選項] user[:group] file...
使用權限:root
設置文件 d.key、e.scrt的擁有者設為 users 群體的 tom
chown tom:users file d.key e.scrt
設置當前目錄下與子目錄下的所有文件的擁有者為 users 群體的 James
chown -R James:users *
3.修改所屬組(chgrp命令)
chown user1 f1 #f1文件擁有者修改為user1
基本權限ACL
UGO權限只針對一個用戶、一個組與其他用戶,使用上有局限性,ACL主要提供傳統的UGO的r、w、x權限之外的具體權限設置,可以對單一用戶、單一文件或目錄進行權限設置
ACL基本用法
創建一個文件,使用getfacl命令查看ACL權限
touch /home/test.txt getfacl /home/test.txt
setfacl命令可以設置ACL權限,對每一個文件或者目錄進行更精確的權限設置,添加"-m"參數可以修改當前文件ACL權限。
setfacl -m urw /home/test.txt
這時使用getfacl命令查看,用戶alice的權限已修改為"rw-"
mask 權限和 default 權限
mask權限
mask權限用于限制用戶的權限。當用戶的權限超過 mask 權限時,將使用 mask 權限作為用戶的實際權限。即mask項就是ACL的最大有效權限。
setfacl [options] [file] [mask]
options:可選參數,用于指定修改 mask 權限的方式。
file:指定要修改 mask 權限的文件。
mask:指定 mask 權限。
mask 權限可以使用-m選項來指定。例如,要將文件的 mask 權限修改為rw-,可以使用以下命令:
setfacl -m m::rw- file
default權限
default權限在 ACL(Access Control List)中的繼承行為是為了方便和簡化權限管理。當我們在一個目錄上設置了default權限時,這些權限會自動應用于該目錄下新創建的文件或子目錄。
setfacl [options] [directory] [default]
options:可選參數,用于指定修改 default 權限的方式。
directory:指定要修改 default 權限的目錄。
default:指定 default 權限。
default 權限可以使用-d選項來指定。例如,要將目錄的 default 權限修改為rw-,可以使用以下命令:
setfacl -d d::rw- directory
mask 權限和 default 權限的注意事項
mask 權限和 default 權限都使用::來表示所有用戶。
mask 權限和 default 權限可以使用數字或符號來表示權限。
mask 權限和 default 權限的權限范圍必須在-和rwx之間。
文件權限的應用
文件權限可以用于以下應用:
控制用戶對文件的訪問權限。
防止惡意程序的執行。
保護文件的安全。
鏈接:https://www.cnblogs.com/sangzhi/p/17863454.html
-
Linux
+關注
關注
87文章
11304瀏覽量
209483 -
文件
+關注
關注
1文章
566瀏覽量
24744 -
命令
+關注
關注
5文章
684瀏覽量
22021
原文標題:基本權限ACL
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論