Saya telah menambahkan pengguna logstash
ke grup adm
menggunakan perintah $ usermod -a -G adm logstash
.
Salah satu file yang mencoba dibaca oleh agen logstash adalah /var/log/nginx/foo-access.log
, yang memiliki izin berikut:
-rw-r----- 1 www-data adm 0 Jul 25 07:52 /var/log/nginx/foo-access.log
Ketika saya sudo su logstash
bisa membaca file, TETAPI ketika saya $ sudo service logstash_agent restart
(yang menjalankan skrip init sebagai logstash
pengguna) mengisi logstash log dengan:
{: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}
Saya dapat mengonfirmasi bahwa pengguna logstash ada dalam grup adm:
$ groups logstash
logstash : logstash adm
File ini pasti memiliki akses file yang tepat:
$ 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::---
Saya sudah mencoba mematikannya dan lagi.
ubuntu
permissions
ubuntu-12.10
logstash
Phil Sturgeon
sumber
sumber
/var/log/nginx
)Jawaban:
Ternyata terkait dengan bug ini di pemula:
https://bugs.launchpad.net/upstart/+bug/812870
Karena
adm
merupakan grup sekunder, itu tidak diterapkan pada proses, yang dipecah menjadi f ** k dan tampaknya diperbaiki dalam versi yang lebih baru.Solusi saya adalah menambahkan
setguid adm
ke file init.sumber
Berikut adalah solusi yang berhasil:
memodifikasi
oleh
kemudian
sumber