設定預設 ACL 未如預期般運作

設定預設 ACL 未如預期般運作

我將從事一個網路項目,因此www裡面有一個 - 資料夾$HOME。我希望該資料夾user在屬於 group 時由其擁有www-data。我發出:

mkdir $HOME/www
chmod g+rxs,u+rwx,o-rwx $HOME/www
chown user.www-data $HOME/www

然後ls -alh | grep www給出:

drwxr-s---  2 user www-data     4,0K Aug 10 17:33 www

此外,我希望設定預設權限,而不管建立進程的權限如何。所以我這樣做:

setfacl -m d:u::rwx,d:g::rx,d:o::- $HOME/www

然後getfacl $HOME/www給出:

# file: www
# owner: user
# group: www-data
# flags: -s-
user::rwx
group::r-x
other::---
default:user::rwx
default:group::r-x
default:other::---

現在我cd進入新建立的資料夾出現問題:

touch testfile

然後ls -alh | grep testfile給出:

-rw-r-----   1 user www-data    0 Aug 10 17:44 testfile

正如您所看到的,該組www-data由於該setgid位而被繼承。但目錄中的預設 ACL$HOME/www並未繼承(正如我所期望的那樣)。$HOME$HOME/www- 相比具有不同的預設 ACL,但我希望手動覆蓋子目錄預設 ACL 的工作方式非常簡單。

我希望其中的子目錄和檔案$HOME/www具有上面給出的預設權限。我在這裡缺少什麼?

答案1

預設情況下,檔案沒有執行權限。目錄確實如此。嘗試建立一個目錄,它應該具有預期的權限。文件應獲得預期的預設權限減去執行權限。

相關內容