banner

logrotate报错because parent directory has insecure permissions

一段时间以前,利用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命令使用的是root,在这个操作系统最大的流氓执行下,竟然还会提示诡异的"因为父目录有不安全的权限"。

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

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

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

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

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

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

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

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

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

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

推荐阅读:

离职了

我被北京清退了

Linux下备份到腾讯云cos、阿里云oss、七牛云存储脚本工具

阅读: 818
在同意共创许可协议(CC BY-NC-SA-4.0)的前提下,您可以转载本文。
付生保个人博客
https://shengbao.org/724.html

相关阅读

留言评论

暂无留言