Rsyslog服务无法生成目录文件

问题:

rsyslog接收syslog数据后重定向日志保存路径(特定路径下/opt)无法按照路径产生目录及日志文件。

解决办法:

查看正常可以接受的syslog目录的上下文情况:

$ ls -Z /var | grep "log$"
drwxr-xr-x. root root    system_u:object_r:var_log_t:s0   log

其次,日志文件,/var/log/messages没有其他上下文:

$ ls -Z /var/log/messages
-rw------- root root ?                                /var/log/messages
方法一:复制selinux标签

下面将复制与之关联的上下文,并将其/var/log也应用于该上下文/opt/blah

$ mkdir /opt/blah
$ ls -Z /opt | grep blah
drwxr-xr-x  root root ?                                   blah

# label directory with context
$ chcon --reference /var/log /opt/blah -R

# see the newly added context
$ ls -Z /opt/ | grep blah
drwxr-xr-x. root root    system_u:object_r:var_log_t:s0   blah
方法二:直接应用上下文

可以像下面这样直接应用它们:

$ chcon system_u:object_r:var_log_t:s0 /opt/blah
$ semanage fcontext -a -t var_log_t "/opt(/.*)?"
$ restorecon -R -v /opt

确认变更

# confirm identical to /var/log context
$ ls -Z /var/ | grep "log$"
drwxr-xr-x. root root    system_u:object_r:var_log_t:s0   log

你可能感兴趣的:(Rsyslog服务无法生成目录文件)