Linux的權限訪問控制ACL管理

訪問控制列表((ACL)是一種在Linux中分配微調權限的方法,除了使用chmod命令。當使用chmod命令時,只能爲一個全部者和一個組分配文件或目錄的權限。若是多個用戶須要訪問咱們須要將它們放在一個組中的資源,而後爲該組提供必要的權限。可是在Linux中使用文件ACL,咱們能夠爲文件上的每一個用戶和組分配細粒度的權限,甚至拒絕訪問特定用戶若是文件具備世界權限。本文關於Linux文件ACL的教程將解釋命令getfacl和setfacl的用法。linux

首先讓咱們瞭解文件和目錄的每一個權限的目的web

文件 -shell

r(讀取) - 能夠查看文件的內容
w(寫入) - 能夠編輯文件並插入新內容
x(執行) - 能夠執行文件。此權限分配給shell腳本和CGI腳本。操作系統

目錄 -翻譯

r(讀取) - 可使用「ls」命令查看目錄的內容
w(寫入) - 能夠在目錄中建立新文件,能夠刪除現有文件
x(執行) - 具備此權限的用戶能夠更改目錄(cd)進入這個目錄code

若是getfacl和setfacl 找不到命令錯誤,則表示未安裝acl軟件包,所以請根據您的操做系統使用yum或apt-get來安裝軟件包教程

# ‘#’表示root權限下,若是不是root權限 下面命令前請加上 sudo 
# yum install acl
# apt-get install acl

要查看文件/目錄的訪問控制列表,請使用getfacl命令遞歸

getfacl /home/file1
# file: home/file1
# owner: root
# group: root
user::rw-
user:root:rw-
group::r--
mask::rw-
other::r--

在使用setfacl命令以前,必須在文件系統上啓用acl,不然您將收到如下錯誤。資源

setfacl: /path/to/file: Operation not supported

所以必須編輯/etc/fstab文件,而且必須在單詞「defaults」附近添加單詞acl,示例fstab條目以下所示get

/dev/sda3          /        ext3          defaults,acl         0 0

要設置文件/目錄的ACL,請使用setfacl命令

setfacl -m u:username:rw /etc/fstab

在此命令中,「u」表示用戶,後跟用戶名和「rw」表示讀寫權限。爲了給予全部權限,使用「rwx」 拒絕全部權限使用減號( - )。例如,即便文件具備777權限,也要拒絕對/ path / to / file上的user1的全部權限

setfacl -m:user1:- /path/to/file

要授予全部權限的組

setfacl -m g:groupname:rwx /path/to/filename

要以遞歸方式將ACL設置爲目錄中的全部文件,請使用-R選項

setfacl -R -m u:username:rwx /path/to/directory

要刪除條目從訪問列表

setfacl -x u:username /path/to/file

翻譯來源:https://websistent.com/linux-...

相關文章
相關標籤/搜索