Ich habe den Benutzer mit dem Befehl logstash
zur Gruppe hinzugefügt .adm
$ usermod -a -G adm logstash
Eine der Dateien, die der Logstash-Agent zu lesen versucht /var/log/nginx/foo-access.log
, verfügt über die folgenden Berechtigungen:
-rw-r----- 1 www-data adm 0 Jul 25 07:52 /var/log/nginx/foo-access.log
Wenn ich sudo su logstash
die Datei lesen kann, ABER wenn ich $ sudo service logstash_agent restart
(das das Init-Skript als logstash
Benutzer ausführt), füllt es die Logstash-Protokolle mit:
{: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}
Ich kann bestätigen, dass sich der Logstash-Benutzer in der Administratorgruppe befindet:
$ groups logstash
logstash : logstash adm
Diese Datei hat definitiv den richtigen Dateizugriff:
$ 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::---
Ich habe versucht, es aus- und wieder einzuschalten.
ubuntu
permissions
ubuntu-12.10
logstash
Phil Sturgeon
quelle
quelle
/var/log/nginx
Antworten:
Es stellte sich heraus, dass dies mit diesem Fehler im Upstart zusammenhängt:
https://bugs.launchpad.net/upstart/+bug/812870
Da
adm
es sich um eine sekundäre Gruppe handelte, wurde sie nicht auf den Prozess angewendet, der als f ** k unterbrochen und anscheinend in einer späteren Version behoben ist.Meine Lösung bestand darin
setguid adm
, der Init-Datei etwas hinzuzufügen .quelle
Hier ist eine funktionierende Problemumgehung:
ändern
durch
dann
quelle