Logstash ไม่สามารถอ่านไฟล์ที่ควรเข้าถึงได้เช่นกัน


10

ฉันได้เพิ่มผู้ใช้logstashในกลุ่มใช้คำสั่งadm$ usermod -a -G adm logstash

หนึ่งในไฟล์ที่เอเจนต์ 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 service logstash_agent restart(ซึ่งสคริปต์ init ทำงานในฐานะlogstashผู้ใช้) มันจะเติม logstash log ด้วย:

{: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::---

ฉันลองปิดและเปิดใหม่อีกครั้ง


ดูเหมือนว่าไฟล์ของคุณจะมีสิทธิ์ในการเขียนกลุ่มที่ถูกต้อง Chmod เพื่อแก้ไข
Nithin Meppurathu

ฉันไม่ต้องการเขียนไฟล์เหมือนที่ฉันบอกว่าฉันต้องการอ่าน
Phil Sturgeon

ฉันถือว่าคุณได้ตรวจสอบการอนุญาตไดเรกทอรีหลัก ( /var/log/nginx)
dawud

getfacl /var/log/nginx/kapture-api3-access.log
Nithin Meppurathu

ฉันเพิ่มผลลัพธ์ของคำสั่งนั้นลงในคำถาม ฉันวิ่งไปก่อนด้วยผลลัพธ์ที่ฉันคาดหวังดังนั้นไม่ต้องกังวลในตอนแรก
Phil Sturgeon

คำตอบ:


5

มันกลายเป็นว่าเกี่ยวข้องกับข้อผิดพลาดนี้ในการพุ่งพรวด:

https://bugs.launchpad.net/upstart/+bug/812870

เนื่องจากadmเป็นกลุ่มรองจึงไม่ได้ใช้กับกระบวนการซึ่งแตกเป็น f ** k และเห็นได้ชัดว่าได้รับการแก้ไขในรุ่นที่ใหม่กว่า

โซลูชันของฉันคือการเพิ่มลงsetguid admในไฟล์ init


5

นี่คือวิธีแก้ปัญหาการทำงาน:

sudo vi /etc/init.d/logstash

ปรับเปลี่ยน

    LS_GROUP=logstash

โดย

    LS_GROUP=adm

แล้วก็

sudo /etc/init.d/logstash start

1
นอกจากนี้ยังใช้งานได้โดยการเพิ่ม "LS_GROUP = adm" ใน / etc / defaults / logstash - ส่วนที่ดีเกี่ยวกับเรื่องนี้คือมันง่ายต่อการจัดการโดยใช้หุ่นเชิด
thinice
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.