Linux-許可權管理(ACL許可權)
版權宣告:本文為博主原創文章,轉載請註明出處。 https://blog.csdn.net/twilight_karl/article/details/76595336
ACL簡介
目前已知的三種許可權分別是,所有者許可權,所屬組許可權,和其他人許可權。這三種許可權有時並不能很好的指定所有使用者的許可權。當無法使用這三種許可權準確的指定一個使用者的許可權時,可以使用acl給使用者或使用者組指定特定的許可權。例如,所有者和所屬組具有最高許可權。其他人具有0許可權。此時我希望給一個使用者設定r-x許可權。這時用以上三種許可權很難實現。就可以用acl指定該使用者的許可權。
設定/檢視 ACL許可權
- getfacl 檔名 : 檢視acl許可權
- setfacl 選項 檔名 : 設定acl許可權
常見引數:
– -m 設定ACL許可權
– -x 刪除指定的ACL許可權
– -b 刪除所有的ACL許可權
– -d 設定預設ACL許可權
– -k 刪除預設ACL許可權
– -R 遞迴設定ACL許可權
- 給特定使用者設定acl許可權:
setfacl -m u:username:rx 檔案或目錄
- 給特定使用者組設定acl許可權:
setfacl -m g:groupname:rx 檔案或目錄
例如有test目錄,所有者是twilight,所屬組是stu,都具有最高許可權,具體屬性如下:
drwxrwx---. 2 twilight stu 6 7月 25 20:05 test
如果此時希望新增一個lw使用者,使之具有r-x許可權,可以使用acl:
setfacl -m u:lw:rx test
用getfacl檢視acl許可權:
[root@localhost home]# getfacl test
# file: test
# owner: twilight
# group: stu
user::rwx
user:lw:r-x
group::rwx
mask::rwx
other::---
此時檢視test目錄的屬性:
drwxrwx---+ 2 twilight stu 6 7月 25 20:05 test
最大有效許可權 mask
mask 是最大許可權,使用者指定的許可權需要與mask進行與運算,運算的結果才是使用者實際具有的許可權。
setfacl -m m:r-x 檔案或目錄
[root@localhost home]# setfacl -m m:r-x test
[root@localhost home]# getfacl test
# file: test
# owner: twilight
# group: stu
user::rwx
user:lw:rwx #effective:r-x
group::rwx #effective:r-x
mask::r-x
other::---
刪除 ACL 許可權
-
刪除指定使用者的acl許可權
setfacl -x u:使用者名稱 檔案或目錄
-
刪除指定使用者組的acl許可權
setfacl -x g:使用者組名 檔案或目錄
-
刪除檔案的所有acl許可權
setfacl -b 檔名
[root@localhost home]# setfacl -x u:lw test
[root@localhost home]# getfacl test
# file: test
# owner: twilight
# group: stu
user::rwx
group::rwx
mask::rwx
other::---
遞迴許可權
父目錄在設定acl許可權是,所有的已存在的子檔案俺和子目錄也會具有相同的acl許可權。只能針對目錄
setfacl -m u:lw:r-x -R 目錄名
給test目錄賦予r-x遞迴許可權:
setfacl -m u:lw:r-x -R test
test的子目錄和子檔案都會有acl許可權:
[root@localhost test]# ll
總用量 0
drwxrwxr-x+ 2 root root 6 7月 25 21:15 dir
-rw-rw-r--+ 1 root root 0 7月 25 21:15 file
但是此時會出現一個問題,test的許可權是r-x,代表可以對目錄進行讀和進入目錄操作。但是同樣的r-x對於檔案來說作用是不同的。對於檔案r-x表示讀和執行,執行許可權是最高許可權。這樣給檔案賦予r-x許可權是很不安全的。這種情況叫做許可權溢位。
這是acl最大的缺陷,只能手動的修改許可權。
預設許可權
父目錄中給所有新建的子檔案都會整合父目錄的ACL許可權。
setfacl -m d:u:使用者名稱:r-x 目錄名
[root@localhost home]# setfacl -m d:u:lw:r-x test
[root@localhost home]# getfacl test
# file: test
# owner: twilight
# group: stu
user::rwx
user:lw:rw-
group::rwx
mask::rwx
other::---
default:user::rwx
default:user:lw:r-x
default:group::rwx
default:mask::rwx
default:other::---
遞迴許可權 和 預設許可權的異同
- 遞迴許可權:對當前已存在的檔案
- 預設許可權: 對該目錄接下來新建的子檔案
相關文章
- 許可權模型:ACL模型
- Linux-許可權管理(chmod、umask)Linux
- Linux ACL 許可權Linux
- 程式碼批量新增ACL管理員許可權
- Oracle的物件許可權、角色許可權、系統許可權Oracle物件
- 許可權之選單許可權
- PostgreSQL:許可權管理SQL
- Mysql——許可權管理MySql
- Mysql 許可權管理MySql
- oracle 許可權管理Oracle
- 4、許可權管理
- sql許可權管理SQL
- 許可權管理策略
- MySQL許可權管理MySql
- Linux 許可權管理之目錄許可權限制Linux
- django開發之許可權管理(一)——許可權管理詳解(許可權管理原理以及方案)、不使用許可權框架的原始授權方式詳解Django框架
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- linux 檔案許可權 s 許可權和 t 許可權解析Linux
- 【許可權管理】Oracle中檢視、回收使用者許可權Oracle
- 許可權系統:一文搞懂功能許可權、資料許可權
- Android6.0------許可權申請管理(單個許可權和多個許可權申請)Android
- Security 10:許可權管理
- SQL Server 許可權管理SQLServer
- 許可權管理[Linux]Linux
- MongoDB 3.0.8 許可權管理MongoDB
- DRF內建許可權元件之自定義許可權管理類元件
- Android許可權管理之Permission許可權機制及使用Android
- .NET 程式許可權控制、獲得管理員許可權程式碼
- AIX 的許可許可權(轉)AI
- 使用Java API操作zookeeper的acl許可權JavaAPI
- Linux ACL 許可權之進階篇Linux
- Linux 筆記分享九:ACL 許可權Linux筆記
- nodejs的使用者許可權管理——acl.mdNodeJS
- Android系統許可權和root許可權Android
- ylbtech-許可權管理-資料庫設計-功能許可權管理技術資料庫
- mysql許可權MySql
- MySQL 許可權MySql
- ORACLE許可權Oracle