我使用命令$usermod -a -G adm logstash将用户logstash添加到组adm中.
logstash代理尝试读取的文件之一是/var/log/Nginx/foo-access.log,它具有以下权限:
-rw-r----- 1 www-data adm 0 Jul 25 07:52 /var/log/Nginx/foo-access.log
当我sudo su logstash时,我可以读取文件,但是,当我的$sudo服务logstash_agent重启(init脚本作为logstash用户运行)时,它用以下内容填充logstash日志:
{:timestamp=>"2013-07-31T17:05:17.287000+0000",:message=>"Failed to open /var/log/Nginx/foo-access.log: Permission denied - /var/log/Nginx/foo-access.log",:level=>:warn}
我可以确认logstash用户在adm组中:
$groups logstash logstash : logstash adm
$getfacl /var/log/Nginx/foo-access.log getfacl: Removing leading '/' from absolute path names # file: var/log/Nginx/foo-access.log # owner: www-data # group: adm user::rw- group::r-- other::---
我已经尝试过再打开它.
结果与upstart中的这个bug有关:
原文链接:https://www.f2er.com/ubuntu/348734.htmlhttps://bugs.launchpad.net/upstart/+bug/812870
因为adm是一个次要组,所以它没有被应用到这个过程,它被打破为f ** k并且显然在以后的版本中被修复.