首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >logrotate的权限问题

logrotate的权限问题
EN

Stack Overflow用户
提问于 2015-01-30 18:33:31
回答 1查看 23.1K关注 0票数 14

我正在为一些web应用程序编写自己的logrotate配置:

代码语言:javascript
复制
/home/me/public_html/logs/*.log {
    daily
    missingok
    rotate 15
    compress
    delaycompress
    notifempty
    create 0660 me www-data
    nosharedscripts
}

但是对这些文件运行logrotate会导致:

代码语言:javascript
复制
$ sudo logrotate -d -v *.log
Ignoring logfile1.log because of bad file mode.
Ignoring logfile2.log because of bad file mode.
Ignoring otherlogfile.log because of bad file mode.

Handling 0 logs
$ ls -l
-rw-rw---- 1 me www-data  893584 Jan 27 16:01 logfile1.log
-rw-rw---- 1 me www-data  395011 Jan 27 16:01 logfile2.log
-rw-rw---- 1 me www-data 4949115 Jan 27 16:01 otherlogfile.log

这是否与目录中实际日志文件的文件权限与create 0660 me www-data指定的权限相关

如果我将文件权限更改为-rw-r-----,并将create行更改为

代码语言:javascript
复制
create 0640 me www-data

我得到了

代码语言:javascript
复制
$ sudo logrotate -d -v *.log
Ignoring logfile1.log because the file owner is wrong (should be root).
Ignoring logfile2.log because the file owner is wrong (should be root).
Ignoring otherlogfile.log because the file owner is wrong (should be root).

Handling 0 logs

我的系统是一个debian testing/jessie。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-30 20:35:48

好吧,愚蠢的情况。必须对配置文件而不是日志文件执行logrotate命令。

代码语言:javascript
复制
$ sudo logrotate -d -v /etc/logrotate.d/my-app

日志文件的父目录不是完全可写的(------rw-),也不是任何非root组(---rw----)都能写的,这一点似乎很重要。否则,您将看到:

代码语言:javascript
复制
error: skipping "/home/me/public_html/logs/logfile1.log" 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.
票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28233917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档