Linux
為系統帳戶分配權限
我正在嘗試擺脫使用 root 執行 cron 計劃的作業,因此思考過程是創建一個沒有登錄的系統帳戶(/dev/null home,/sbin/nologin shell)來執行我們需要執行的每個 cron 作業. 我只是好奇如何為這些帳戶提供適當的權限以在需要的位置執行,而無需更改通常僅限於 root 的普通文件和文件夾的所有權。
例如,假設我希望此系統帳戶將其正在執行的操作的日誌文件輸出到 /var/log,但是 /var/log/ 歸 root 所有,並設置為 755。此過程將無法創建在那裡記錄文件而不以root身份執行,對嗎?
我是否正確假設使用 Linux 核心功能是最好的方法?
您可以實現的一種方法是將日誌放在子文件夾下
/var/log
,然後設置子文件夾的權限。另一個原因是使用 syslog 登錄
logger
並使用過濾器將日誌重定向到特定文件。例如
# /etc/rsyslog.d/10-myrules.conf if $programname == ["script1", "script2"] then { action(type="omfile" file="/var/log/myscripts/sys.log") stop }
而且您可能還應該在使用時設置一個 logrotate 規則。