一次Linux ACL權限的瞭解

起因

服務器上有個文件需要通過PHP程序來刪除,但是生成文件的程序並不是和PHP是同一個權限用戶,也不在同一個組裏。寫好PHP代碼後,直接測試,滿懷期待的得到一個權限報錯,但沒有想到的是文件被正常刪除了,並沒有報錯。

遂直接上服務器上用PHP的用戶身份嘗試確實能正常刪除。通過ll命令查看確認不是PHP所在的用戶權限。

在這裏插入圖片描述

如上圖,我們PHPwww-data用戶組,爲什麼可以刪除root下的文件呢?

發現

我們注意到ll命令顯示的權限部分尾部多了個+號,問題應該就是這裏了。

通過一番查詢得知這是開啓了LinuxACL權限控制,可通過getfacl命令取得某個文件/目錄的 ACL 配置項目。ACL權限詳細說明

[root@www ~]# getfacl acl_test1
# file: acl_test1   <==說明檔名而已!
# owner: root       <==說明此文件的擁有者,亦即 ll 看到的第三使用者字段
# group: root       <==此文件的所屬羣組,亦即 ll 看到的第四羣組字段
user::rwx           <==使用者列表欄是空的,代表文件擁有者的權限
user:vbird1:r-x     <==針對 vbird1 的權限配置爲 rx ,與擁有者並不同!
group::r--          <==針對文件羣組的權限配置僅有 r 
mask::r-x           <==此文件默認的有效權限 (mask)
other::r--          <==其他人擁有的權限囉!

通過命令我們可以看到www-data是擁有文件的讀寫權限的,一切都明瞭了。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章