我在 RHEL8 Linux 服务器中有一个 rsyslog 实例,用于从其他系统收集日志。它运行良好,并将所有日志存储在/var/log
以下格式的目录中/var/log/hostname/year/month/date
。
我的问题是我的用户名没有立即读取的权限,所以首先我必须sudo chmod o+r
能够读取日志或使用 root 帐户,但我不想这样做。
我尝试/etc/rsyslog.conf
通过添加文件来解决这个问题
$FileCreateMode 0022
$umask 0022
这应该授予所有用户读取权限,但是它不起作用。
我也用 修改了/usr/lib/systemd/system/rsyslog.service
文件UMask=0022
,但是也没有作用。
答案1
此命令告诉rsyslog
创建仅对组和其他人具有写权限的文件:
$FileCreateMode 0022
示范:
touch x
chmod 0022 x
ls -l x
-----w--w-+ 1 roaima roaima 0 Mar 28 09:28 x
此命令告诉rsyslog
屏蔽组和其他写权限
$umask 0022
掩码是一组位,不应该被设置,所以它与正常的权限设置相反。你在这里写的是“拒绝一切除了组和其他人的写权限”。最终结果是任何人都没有权限。
你可能想要的是rsyslog
文档
$umask 0000 # Don't let the umask get in the way
$FileCreateMode 0644 # u=rw,g=r,o=r
$DirCreateMode 0755 # u=rwx,g=rx,o=rx