selinux导致pureftp的日志文件不能写入
配置好lamp后,又配置了pureftp服务,默认pureftp的日志会写到/var/log/messages中! 因为我们的日志是要备份的,用户需要的时候,是要提供给他们的!
于是想着配置pureftp的日志文件为pureftpd.log 并将其放在/usr/local/logcenter下!
于是修改了/etc/syslog.conf
修改了如下:
*.info;mail.none;news.none;authpriv.none;cron.none;ftp.none /var/log/messages ##增加红色字体,ftp的日志文件不会写入到messages文件中
同时还要加入:
#ftp log
ftp.* -/usr/local/logcenter/pureftpd.log
修改后,重启syslogd服务,结果在/usr/local/logcenter/没有生成pureftpd.log 开始我以为是目录写错了,后面检查后发现一切正常! 就算在/usr/local/logcenter下touch pureftpd.log 这边用ftp 客户端工具登录测试,日志就是不会写入到pureftpd.log中(自己的创建的文件)
于是在重启syslogd的时候,动态监控messages日志,发现有如下的输出:
May 14 10:10:53 IDC-D-5634 kernel: audit(1305339053.327:7): avc: denied { read } for pid=1877 comm="syslogd" name="logcenter" dev
=cciss/c0d0p5 ino=20630117 scontext=root:system_r:syslogd_t tcontext=root:object_r:usr_t tclass=lnk_file
显然看到denied的提示,怀疑是selinux的问题。 就去查看selinux,发现为enforcing!
执行setenforce 0 后,service syslog restart重启,还是会在后台输出和上面一样的信息,于是在/etc/sysconfig/selinux中,将enforcing改为disabled ,然后重启机器即可!
显然setenforce 0 不等同于 disabled!
留为笔记!
阅读(1482) | 评论(0) | 转发(0) |