国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

ACL權(quán)限控制

2023-05-29 11:41:37 4838

ACL(access control list)權(quán)限控制

一個(gè)文件有所屬者,所屬組,其他人三種關(guān)系,且這三種關(guān)系不可以更改,但是如果又來一個(gè)用戶要求要對(duì)該文件有r-x權(quán)限且不能更改其他用戶的權(quán)限關(guān)系,那么這三種權(quán)限關(guān)系就不夠使用了,所以這個(gè)時(shí)候需要用到ACL權(quán)限,為這個(gè)用戶單獨(dú)分配r-x權(quán)限,這樣既不會(huì)破壞其他用戶對(duì)這個(gè)文件的權(quán)限關(guān)系,又不會(huì)使這個(gè)用戶沒有這個(gè)操作文件權(quán)限的關(guān)系。

CentOS7 默認(rèn)創(chuàng)建的xfs和ext4文件系統(tǒng)具有ACL功能 CentOS7 之前版本,默認(rèn)手工創(chuàng)建的ext4文件系統(tǒng)無ACL功能,需手動(dòng)增加

#查看是否有ACL功能

#dumpe2fs命令是查詢指定分區(qū)詳細(xì)文件系統(tǒng)信息的命令

#-h僅顯示超級(jí)塊中信息,而不顯示磁塊組的詳細(xì)信息

dumpe2fs -h /dev/sdb1

#添加ACL功能

tune2fs –o acl /dev/sdb1

mount –o acl /dev/sdb1 /mnt/test

#或者

vi /etc/fstab

#在default后面加入acl

ACL相關(guān)命令

查看ACL命令

getfacl filename

21.png

設(shè)置ACL權(quán)限

setfacl命令

格式:setfacl  選項(xiàng)  acl參數(shù) 目標(biāo)文件或目錄

-m  設(shè)置后續(xù)的acl參數(shù),不可與-x一起使用

-x   刪除后續(xù)的acl參數(shù),不可與-m一起使用

-b   刪除所有的acl參數(shù)

-k   刪除默認(rèn)的acl參數(shù)

-R   遞歸設(shè)置acl參數(shù)

-d   設(shè)置默認(rèn)acl參數(shù),只對(duì)目錄有效

 

ACL參數(shù)

u:用戶名:權(quán)限    給某個(gè)用戶設(shè)定權(quán)限,若不添加用戶名,默認(rèn)修改屬主權(quán)限

g:組名:權(quán)限      給某個(gè)組設(shè)定權(quán)限,若不添加組名,默認(rèn)修改屬組權(quán)限

m:權(quán)限          更改權(quán)限掩碼

范例:

# 創(chuàng)建目錄并設(shè)置權(quán)限

mkdir -p /tmp/test

chmod 640 /tmp/test

# 創(chuàng)建用戶AAA、BBB 創(chuàng)建組testg并加入

useradd AAA

useradd BBB

groupadd testg

gpasswd -a AAA testg

gpasswd -a BBB testg

# 設(shè)置acl權(quán)限

setfacl -m u:AAA:rx test

# 現(xiàn)在AAA可訪問

# 設(shè)置acl權(quán)限

setfacl -m g:testg:rx test

# 現(xiàn)在BBB也可訪問

最大有效權(quán)限mask

mask是用來指定最大有效權(quán)限的。mask只影響除所有者和other的之外的人和組的最大權(quán)限。如果我給用戶賦予了ACL權(quán)限,如果我再設(shè)置mask權(quán)限這是需要和mask的權(quán)限相與才能得到用戶的真正的權(quán)限,把-當(dāng)做0,通過調(diào)整mask權(quán)限來調(diào)整文件的權(quán)限,下面來調(diào)整一下最大用戶權(quán)限

setfacl -m u:AAA:rwx 1.txt

 

備份和還原ACL

主要的文件操作命令cp和mv都支持ACL,只是cp命令需要加上-p 參數(shù)。但是tar等常見的備份工具是不 會(huì)保留目錄和文件的ACL信息

#備份ACL

getfacl -R /tmp/dir > acl.txt

#消除ACL權(quán)限

setfacl -R -b /tmp/dir

#還原ACL權(quán)限

setfacl -R --set-file=acl.txt /tmp/dir

#還原ACL權(quán)限

setfacl --restore acl.txt

#查看ACL權(quán)限

getfacl -R /tmp/dir

 

 


提交成功!非常感謝您的反饋,我們會(huì)繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問題: