logrotate报错because parent directory has insecure permissions

  • A+
所属分类:日志

一段时间以前,利用logrotate功能制作了一个定时分割日志的脚本,有兴趣的可以看下"多用户多tomcat结合logrotate实现日志分割脚本"一直在测试环境中使用效果还可以。出现问题的是一台测试服务器。在使用该脚本做日志分割的过程中出现如下报错"

error: skipping "/home/app01/tomcat1/logs/catalina.out" because parent directory has insecure permissions (It's world writable or writable by group which is not "root") Set "su" directive in config file to tell logrotate which user/group should be used for rotation."

logrotate报错because parent directory has insecure permissions

本身执行logrotate命令使用的是root,在这个操作系统最大的流氓执行下,竟然还会提示诡异的"因为父目录有不安全的权限"。

使用ll  -d 命令,检查父目录的权限设置状态,并未发现有什么特殊权限。

logrotate报错because parent directory has insecure permissions

一脸懵逼后,对比正常执行日志分割目录的权限设置,只在所属组权限上少一个w写入。

logrotate报错because parent directory has insecure permissions

一个w权限,可以引发这么惨绝人寰的惨案?

logrotate报错because parent directory has insecure permissions

通过chmod g-w tomcat1/logs 将所属组的写入(w)权限去除,执行命令后无报错。

继续一脸懵逼,看下网上有没有这个问题的解决方案。

logrotate报错because parent directory has insecure permissions

我们来尝试下,这种解决方案,首先将logs目录的所属组权限增加写(w),然后问题重现。

logrotate报错because parent directory has insecure permissions

尝试网上的方法来解决该问题,在logrotate配置中加入su root list,执行后出现新的报错信息

logrotate报错because parent directory has insecure permissions

提示,没有发现"list"这个组。那我们使用该文件夹的所属组会怎样呢? 修改logrotate配置为su root app01

logrotate报错because parent directory has insecure permissions

正常执行完毕。到目前为止,可以有两种方式解决该问题了,

总结


该问题出现的原因应该就是错误信息的提示:"因为父目录有不安全的权限",解决该问题有以上两种方式。一种,修改父目录权限。一种,在logrotate配置中增加su root app01(该组为文件夹所属组)

weinxin
付生保个人博客
一个运维工程师的自媒体个人博客网站。也是关注IT技术学习和经验分享的原创独立自媒体个人博客。
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: