Linux ACL檔案訪問控制列表

2022-09-06 20:24:13 字數 3731 閱讀 8638

前言

1️⃣:acl—檔案訪問控制列表;

2️⃣:acl可以針對單個使用者,單個檔案或目錄來進行r、w、x的許可權設定,特別適用於需要特殊許可權的使用情況。

4️⃣:acl就是可以設定特定使用者或者使用者組對於乙個檔案/資料夾的操作許可權

5️⃣:linux上的acl訪問控制列表,主要的目的是在提供傳統的u(user)、g(group)、o(other)的r(read)、w(write)、x(execute)許可權之外的區域性許可權設定

1、acl管理命令

getfacl

setfacl

2、acl形式

每個片段的形式都如:tag:name:perm

tag可以是下面形式的一種:

user 表示這是乙個使用者的acl條目

group 表示這是乙個使用者組的acl條目

other 表示這是其它的acl條目

mask 表示這是乙個掩碼的acl條目,最大的有效許可權(許可權閾值)

name 可以是使用者名稱或組名

perm 是指該使用者或組所具有的許可權,它是由"rwx"組成的乙個字串

3、setfacl

setfacl

使用 setfacl 設定檔案訪問控制列表

語法 setfacl filename

選項 -m, --modify=acl 設定acl條目,不可與-x一起使用

-x, --remove=acl 刪除所設定的acl條目,不可與-m一起使用

-b, --remove-all 刪除所有acl條目(包括預設的acl條目)

-k, --remove-default 刪除預設acl條目

-r, -- recursion 遞迴設定acl條目,包括餘下的子目錄或子檔案都將被設定acl條目

-d, --default 對目錄設定預設的acl條目,並且在改目錄下建立的檔案都將繼承該目錄的預設acl條目(該選項只能對目錄生效)

示例 setfacl -m u:zyq:rwx test.sh

user 簡寫為u,

group 簡寫為g

other 簡寫為o

注意:使用 -m 對other設定facl的時候,只需指明對應的許可權即可,無需指明特定的使用者;其次,對其他使用者無法使用-x選項,因為,其他使用者不同於所屬主和所屬組,只需給特定的許可權即可

4、getfacl

getfacl

使用getfacl可以獲取檔案訪問控制列表

語法:getfacl filename

選項 -a, --access 僅顯示檔案訪問控制列表

-d, --default 僅顯示預設的訪問控制列表

-c, --omit-header 不顯示注釋表頭

示例 getfacl test.txt

# file: test.txt //檔名

# owner: root //檔案擁有者

# group: root //檔案擁有組

user::rw- //說明該檔案的擁有者擁有讀和寫的許可權

group::rw- //說明該檔案的擁有組有讀和寫的許可權

mask::rw- //說明mask的許可權是讀和寫

other::--- //說明其他人沒有許可權訪問該檔案

5、操作示例

//建立acl條目

[root@localhost ~]# ll test

-rw-r--r--. 1 root root 0 8月 5 15:33 test

[root@localhost ~]# setfacl -m u:zhangsan:rw test

[root@localhost ~]# getfacl test

# file: test

# owner: root

# group: root

user::rw-

user:zhangsan:rw- //說明zhangsan使用者對該檔案擁有讀和寫的許可權

group::r--

mask::rw- //mask許可權說明zhangsan使用者對改檔案的許可權最大只能是讀和寫

other::r--

//刪除acl條目

[root@localhost ~]# setfacl -x u:zhangsan test

[root@localhost ~]# getfacl test

# file: test

# owner: root

# group: root

user::rw-

group::r--

mask::r--

other::r--

//給目錄設定預設的acl條目

[root@localhost ~]# mkdir dir

[root@localhost ~]# ll -d dir

drwxr-xr-x. 2 root root 6 8月 5 15:41 dir

[root@localhost ~]# setfacl -m d:u:zhangsan:rw dir

[root@localhost ~]# getfacl dir/

# file: dir/

# owner: root

# group: root

user::rwx

group::r-x

other::r-x

default:user::rwx

default:user:zhangsan:rw-

default:group::r-x

default:mask::rwx

default:other::r-x

//在dir目錄下建立乙個檔案,看是否繼承該目錄的acl條目

[root@localhost ~]# touch dir/file1

[root@localhost ~]# getfacl dir/file1

# file: dir/file1

# owner: root

# group: root

user::rw-

user:zhangsan:rw-

group::r-x #effective:r--

mask::rw-

other::r--

//刪除dir目錄的預設acl條目

[root@localhost ~]# setfacl -k dir

[root@localhost ~]# getfacl test

# file: test

# owner: root

# group: root

user::rw-

group::r--

mask::r--

other::r--

或者[root@localhost ~]# setfacl -b dir/

[root@localhost ~]# getfacl dir/

# file: dir/

# owner: root

# group: root

user::rwx

group::r-x

other::r-x

Linux ACL訪問控制許可權

acl access control list 訪問控制列表,是linux系統中的訪問許可權控制系統。可用於解決linux基本檔案許可權系統中許可權分配空白問題。類似與windows的檔案許可權設定,可以獨立設定除了所有者和所屬組以外的某個特定組或特定使用者的訪問許可權。例 給rhel使用者增加讀z...

linux ACL許可權控制

一 acl的使用 acl即access control list 主要的目的是提供傳統的owner,group,others的read,write,execute許可權之外的具體許可權設定,acl可以針對單一使用者 單一檔案或目錄來進行r,w,x的許可權控制,對於需要特殊許可權的使用狀況有一定幫助。...

Linux ACL許可權控制

acl許可權控制主要目的是提供傳統的owner,group,other的read,wirte,execute許可權之外的具體許可權設定,可以針對單一使用者,單一檔案或者目錄來設定特定的許可權。比如 某一目錄許可權為 drwx 2 root root 4096 03 10 13 51.acldir 使...