Centos7
rsyslog沒有設置group和everyone的讀寫權限
Rsyslog 忽略使用 fileCreateMode 為組和每個人設置的讀寫權限。
我已經設置了一個服務來執行我的節點應用程序:
... [Service] WorkingDirectory=/opt/demo/app User=appuser Type=simple ExecStart=/usr/bin/node myapp.js demo StandardOutput=syslog StandardError=syslog SyslogIdentifier=myapp ...
然後我像這樣在 /etc/rsyslog.d/ 中設置一個 myapp.conf 文件
if ($programname == 'myapp') then { action( type="omfile" File="/opt/demo/app/app.log" fileCreateMode="0640" fileOwner="appuser" fileGroup="mygroup" ) stop }
使用正確的使用者和組創建日誌文件,但權限為 0600 而不是 0640。
如果我將 fileCreateMode 更改為 0777,則該文件將使用 0711 創建。
我使用的是預設的 rsyslog.conf,rsyslog 版本是 8.24.0-41,作業系統是 CentOS 7.7
rsyslogd -N 1
不會拋出任何錯誤
如果您的 rsyslogd 是由 systemd 啟動的,那麼您的服務定義 /usr/lib/systemd/system/rsyslog.service 可能包含 UMask 限制:
遮罩=0066
這會破壞 rsyslogd.conf 中與遮罩和模式相關的任何配置。