導航:首頁 > 程序命令 > setfacl命令

setfacl命令

發布時間:2025-01-31 21:31:10

1. Linux常用命令之--ACL(getfacl,setfacl)

ACL可以為某個文件單獨設置該文件具體的某用戶或組的許可權,不走三類許可權位
默認 ACL 許可權的作用是:如果給父目錄設定了默認 ACL 許可權,那麼父目錄中所有新建的子文件都會繼承父目錄的 ACL 許可權。但是要加 -R
※ACL許可權更高,會先查看ACL再看傳統的許可權。如果沒有ACL才會走三類許可權位
※如果一個用戶在ACL的user中一個許可權,他所在的ACL的group中是另外一個許可權,會按照user許可權來

• getfacl <文件名>
獲取文件的訪問控制信息
• setfacl設置文件的acl
-m修改文件的acl
-x取消用戶或組對文件的許可權
語法:
• setfacl –m u:用戶名:許可權 <文件名> 設置某用戶名的訪問許可權
• setfacl –m g:組名:許可權 <文件名> 設置某個組的訪問許可權

例1: 想要實現這個↓需求
user1:rwx,user2:rw-,user3:r-x,user4:r--,user5:--x,user6:-w-,
傳統許可權無法滿足上述要求,這時就可以用↓命令進行許可權添加

建一個名字為1的文件,查看文件1的許可權↓

設置許可權

修改後看文件1的許可權↓

例2:

有組A(groupA)和組B(groupB)兩個組,文件1所屬於A組,如果通過三類許可權位設置文件許可權,其他用戶沒有任何許可權,而B組為其他用戶,因此無法對文件1進行任何操作。這時可以通過ACL給組B設置許可權:
setfacl -m g:groupB:r 1 B組里的所有成員就有讀許可權了

• setfacl –x u:用戶名 <文件名> //取消某用戶的訪問許可權
• setfacl –x g:組名 <文件名> //取消某個組的訪問許可權
❉↑這時是將這個user或group的ACL整個刪除,如果只是想刪除某一個許可權,還是需要setfacl -m來進行重新設置

例3:

setfacl -m d:u:qin:rwx /caiwubu
d:default,即將caiwubu這個文件夾的許可權對qin開放rwx許可權,getfacl /caiwubu的時候會發現有一條default:user:qin:rwx。即在/caiwubu文件夾里 新建 的文件夾以及文件對qin的許可權都為rwx,但是之前已經存在的文件及文件夾的許可權在修改ACL許可權之前是什麼現在還是什麼
setfacl -x u:qin /caiwubu/zhangben 取消qin這個用戶對該文件的acl許可權
取消qin這個用戶對該文件的acl許可權
❀如果這個文件給兩個及兩個以上的用戶設定了ACL,取消其中一個用戶的許可權可以用這個命令。但是如果這個文件只給一個用戶設定了ACL且想刪除ACL,或者想把該文件里所有的ACL許可權都刪除的話,需要用↓的命令
setfacl -b /caiwubu/zhangben

關於許可權列的.和+:
ls -lZ :
drwxrwxrwt. root root system_u:object_r:tmp_t:s0 tmp
dr-xr-xr-x root root system_u:object_r:boot_t:s0 boot
drwxrwxr-x+ root root unconfined_u:object_r:admin_home_t:s0 DCGH-DIR
Linux許可權列的點不是無意義字元
・在開啟SELinux的情況下創建的目錄和文件有這個點,許可權列有這個點說明該目錄或文件設置了SELinux相關的許可權①
・在禁用SELinux許可權之後,在之前開啟SELinux許可權時創建的文件或目錄保持原來的許可權不便,許可權列的點依然顯示,而新創建的目錄或文件在許可權列無這個點顯示②
・許可權列中最後一個位置如果是加號,說明這個目錄或文件已經設置了ACL許可權相關的內容。如果加號存在,則已經有點的目錄或文件中的點的顯示會被覆蓋,但原來的SELinux屬性保持不變

2. 9.9 Linux ACL許可權設置(setfacl和getfacl)

Linux ACL許可權設置主要通過setfacl和getfacl命令進行。getfacl命令用於查看文件或目錄的ACL許可權信息,setfacl命令用於設定或修改許可權。它們在文件和目錄許可權管理中扮演重要角色。

使用setfacl命令可以給用戶或群組添加ACL許可權,通過命令格式了解其具體操作。例如,添加用戶st的r-x許可權。

在實際應用中,ACL許可權可以針對特定用戶或群組進行精細化控制,無需為特定用戶設定身份信息。同時,通過默認ACL許可權功能,可以在創建文件或目錄時自動繼承父目錄的許可權設置,提高管理效率。默認ACL許可權只適用於目錄,遞歸ACL許可權則對目錄下的所有子文件和子目錄生效。

通過setfacl命令,可以靈活地設定、修改或刪除ACL許可權。如刪除指定用戶的許可權,刪除所有與特定文件或目錄相關的ACL許可權。這些操作直接通過命令即可實現,無需額外步驟。

總之,Linux ACL許可權設置通過setfacl和getfacl命令提供了靈活且強大的許可權管理能力。這些命令支持添加、修改、刪除各種ACL許可權,滿足不同的許可權需求,提高系統安全性與管理效率。

閱讀全文

與setfacl命令相關的資料

熱點內容
qt如何判斷ftp連接上了伺服器 瀏覽:100
通達信多賺少賠副圖指標源碼 瀏覽:747
加密鎖子安全嗎 瀏覽:705
寶塔怎麼連接虛擬機的伺服器 瀏覽:418
js非對稱加密go解密 瀏覽:646
硬碟被加密了可以重裝系統嗎 瀏覽:705
python多行輸入框 瀏覽:352
蘋果app游戲充值待處理如何取消 瀏覽:198
db2資料庫還原命令 瀏覽:151
androidsocket讀取 瀏覽:997
方舟怎麼搜索加入過的伺服器 瀏覽:400
linux腳本執行結果 瀏覽:9
安卓手機怎麼卸程序 瀏覽:25
單片機測水平 瀏覽:649
Eaby手機app如何注銷賬戶 瀏覽:446
程序員學費多少 瀏覽:341
希望之窗為什麼選不了伺服器 瀏覽:634
javafibonacci數列 瀏覽:878
多個文件夾同時上傳 瀏覽:702
dns反向解析linux 瀏覽:839