Permissions

Linux:將所有權應用於文件夾中創建的所有文件

  • January 26, 2013

我的第一個問題,所以請客氣…

基本上,我有一個使用者組可以訪問的文件夾。該文件夾中有一個程序,該程序以 root 身份執行(通過 sudo),然後將結果文件(xml 文件)輸出到子目錄。現在,無論何時執行該命令,它都會輸出具有 root 所有權的結果(因為那是執行它的人)。但我需要創建的任何結果自動更改為已擁有該文件夾的組所有。我嘗試使用 setgid 位,但沒有運氣。有任何想法嗎?

編輯:只是一些額外的資訊。該程序必須以 root 身份執行。我知道我可以設置一個 cronjob 或其他東西,但我正在尋找一個更優雅的解決方案。

提前致謝

添加g+s到目標目錄(假設完成)

chown :usergroup target-directory
chmod g+s target-directory

有了上述,在目標目錄中創建的所有文件都將具有 gid 使用者組。

如果在目標目錄之外創建文件,然後將其移入,則此方法不起作用。在這種情況下,gid不會改變。

touch <some-path>/test
mv <some-path>/test <target-directory>

testgid 在上述情況下不會改變。

尋找臨時文件夾

有問題的程序很可能在另一個位置/臨時文件夾中創建了文件,以防止部分讀取。如果是這種情況,將 應用於g+s該臨時文件夾將解決問題。

但是,如果程序正在使用系統文件夾(例如,作為臨時文件夾),請要這樣做。首先更改臨時文件夾位置。/tmp``/var/tmp

引用自:https://serverfault.com/questions/472593