Ubuntu
如何強制對未來文件設置(而不是減去)權限?
我在 Ubuntu Linux 上有一個程序,它創建一個
logs/error.log
具有權限660
(rw-rw----
) 或640
(rw-r-----
) 的文件。但我希望文件權限始終為666
(rw-rw-rw-
) (包括程序創建文件時)。限制:
- 我不能修改程序。因此,我無法更改
660
程序使用新文件的模式。- 該程序可以隨時重新創建文件。因此,單一手動執行的方案
chmod
是不適合的。- 我需要添加一些權限,但不能減去。因此,
umask
並不setfacl
適合。
您可以使用它
inotify
來跟踪創建它的文件或目錄,以便在創建時更新其權限
如果所有其他更理智的選項都沒有了(比如為神秘的日誌創建程序選擇一個合適的使用者/組,該程序與您想要從 docker 主機執行的任何操作兼容,或者修改程序的配置以使其使用正確的權限),您可以使用以下
LD_PRELOAD
技巧:用你的神秘程序用來創建文件的任何系統呼叫來掛鉤它(可能是
creat
或open
,檢查strace
)。然後比較文件名,並mode
僅修改您的日誌文件。這需要你知道如何用 C 程式。