Permissions
Linux:將所有權應用於文件夾中創建的所有文件
我的第一個問題,所以請客氣…
基本上,我有一個使用者組可以訪問的文件夾。該文件夾中有一個程序,該程序以 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>
test
gid 在上述情況下不會改變。尋找臨時文件夾
有問題的程序很可能在另一個位置/臨時文件夾中創建了文件,以防止部分讀取。如果是這種情況,將 應用於
g+s
該臨時文件夾將解決問題。但是,如果程序正在使用系統文件夾(例如,作為臨時文件夾),請不要這樣做。首先更改臨時文件夾位置。
/tmp``/var/tmp