首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >冲突Logrotate权限

冲突Logrotate权限
EN

Server Fault用户
提问于 2017-12-02 08:51:26
回答 1查看 1.6K关注 0票数 0

我有一个装满日志文件的文件夹,我使用logrotate来旋转它们。

直到最近,我只有Apache日志文件在那里- access.log和error.log。我从守护进程daemon.log中添加了一个新的日志。守护进程日志是由在www-data用户下运行的守护进程编写的。

运行时,logrotate将创建一个新日志,其权限为640、用户root和组adm。Apache可以用这些权限写入访问日志和错误日志,但是我的守护进程以www-data的形式运行,却不能。

在我看来,有几种选择:

  1. 更改logrotate配置,以手动指定授予哪些日志文件哪些权限。但是这意味着如果我添加了一个新的日志文件,我需要记住配置logrotate来管理它。
  2. 修改logrotate脚本,为daemon.log文件创建异常。这可能吗?
  3. 将守护进程日志移动到一个新文件夹,并使用一个单独的logrotate脚本来管理该新文件夹中的日志文件。很简单,但如果可以的话,我想把所有的日志都放在一起。
  4. 设置logrotate以创建不同用户和组下的文件。看来这会冒着丢失日志信息的风险。
  5. www-data用户添加到adm组,并将权限设置为660。我不喜欢让www-data用户无意中访问其他东西的想法。
  6. 将日志文件的权限设置为666。似乎是个粗糙的解决方案。

所有这些都不是理想的,而且我敢肯定一对夫妇是可怕的。还有别的选择吗,还是我最好的选择之一?我是不是遗漏了什么?

EN

回答 1

Server Fault用户

发布于 2017-12-04 08:12:13

标准的答案是,使log旋转式创建具有进程写入它们所需的所有权的文件。(我不明白为什么会有丢失日志信息的风险;也许你可以详细说明为什么你认为这是一种风险。)

通过添加行来实现这一点。

代码语言:javascript
复制
create owner group

到相关的log旋转式配置。如果您想拥有具有特定权限的文件,则需要添加

代码语言:javascript
复制
create mode owner group

而不是。

示例:

代码语言:javascript
复制
create 644 www-data www-data
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/886250

复制
相关文章

相似问题

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