Linux

為系統帳戶分配權限

  • January 17, 2017

我正在嘗試擺脫使用 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 規則。

引用自:https://unix.stackexchange.com/questions/338113