J'ai ajouté un utilisateur logstash
au groupe adm
à l'aide de la commande $ usermod -a -G adm logstash
.
L'un des fichiers que l'agent logstash essaie de lire est /var/log/nginx/foo-access.log
, qui dispose des autorisations suivantes:
-rw-r----- 1 www-data adm 0 Jul 25 07:52 /var/log/nginx/foo-access.log
Quand je sudo su logstash
peux lire le fichier, MAIS, quand je $ sudo service logstash_agent restart
(que le script init exécute en tant logstash
qu'utilisateur), il remplit les journaux de journal de bord avec:
{: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}
Je peux confirmer que l'utilisateur logstash est dans le groupe adm:
$ groups logstash
logstash : logstash adm
Ce fichier a définitivement le bon accès au fichier:
$ 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::---
J'ai essayé de l'éteindre et de le rallumer.
ubuntu
permissions
ubuntu-12.10
logstash
Phil Sturgeon
la source
la source
/var/log/nginx
)Réponses:
Il s'est avéré être lié à ce bogue dans upstart:
https://bugs.launchpad.net/upstart/+bug/812870
Parce qu'il
adm
s'agissait d'un groupe secondaire, il n'était pas appliqué au processus, qui est cassé en f ** k et est apparemment corrigé dans une version ultérieure.Ma solution a été d'ajouter
setguid adm
au fichier init.la source
Voici une solution de contournement:
modifier
par
puis
la source