Score:0

ไม่สามารถเปลี่ยนเจ้าของและกลุ่มของ Nginx error_log และ access_log

ธง br

ไม่สามารถเปลี่ยนเจ้าของและกลุ่มของ Nginx error_log และ access_log

ฉันต้องการเปลี่ยนเจ้าของและกลุ่มของ error_log และ access_log ของ nginx ทันทีจาก nginx (ไม่ได้ใช้ chgrp และ chown ด้วยตนเอง) ในขณะที่ให้ nginx ทำงานเป็นรูทเพื่อให้สามารถฟังพอร์ต 80, 443 และอื่น ๆ .....

เซิร์ฟเวอร์กำลังเรียกใช้ Ubuntu 20.04, nginx/1.18.0 (Ubuntu)

ดูเหมือนว่าไม่ว่าจะอยู่ที่ใด:

/var/www/error_log
/var/www/access_log
/var/www/sub.domain.com/error_log
/var/www/sub.domain.com/access_log
/var/www/sub2.domain.com/error_log
/var/www/sub2.domain.com/access_log
...

พวกเขาทั้งหมดเป็นของ ราก:ราก ละเว้นการตั้งค่าที่อธิบายไว้ใน ผู้ใช้ คำสั่ง

ผลลัพธ์ของ ls -l :

-rw-r--r-- 1 รูท 0 ก.ย. 57 09:07 น. access_log
-rw-r--r-- 1 รูท 0 ก.ย. 57 08:43 error_log

เนื้อหาบางส่วน (ตัดทอน) ของ /etc/group :

ราก:x:0:
ภูต:x:1:
ถังขยะ:x:2:
ซิส:x:3:
adm:x:4:syslog
tty:x:5:syslog
ดิสก์:x:6:
lp:x:7:
www-ข้อมูล:x:33:
สำรอง:x:34:
ตัวดำเนินการ:x:37:
...
กลุ่มเว็บเซิร์ฟเวอร์:x:1001:tirtagt,www-data,ผู้ใช้อื่นที่นี่
...

แม้ว่าฉันจะระบุ ผู้ใช้ คำสั่งบน /etc/nginx/nginx.conf :

ผู้ใช้เว็บเซิร์ฟเวอร์ข้อมูล www-;
worker_processes อัตโนมัติ
pid /run/nginx.pid;
รวม /etc/nginx/modules-enabled/*.conf;

ตัวอย่างบล็อกเซิร์ฟเวอร์:

เซิร์ฟเวอร์ {
        ฟัง 80;

        รูท /var/www/sub.example.com;

        # ตั้งชื่อโดเมนหรือชื่อเซิร์ฟเวอร์ที่นี่
        server_name sub.example.com;

        # บันทึกข้อผิดพลาด
        error_log /var/www/sub.example.com/error_log ประกาศ;
        access_log /var/www/sub.example.com/access_log;
    
        # ประกาศลำดับความสำคัญหากไม่มีเส้นทางหรือไฟล์ที่ระบุ
        ดัชนี index.html index.htm index.php;

        # จับตำแหน่งทั้งหมด
        ที่ตั้ง / {
                # ส่งต่อไปยังสะพาน FastCGI PHP
                รวม fastcgi_params;
                fastcgi_pass ยูนิกซ์:/var/run/php/php7.4-fpm.sock;

                # เรียกใช้ DynamicPHPRouter เพื่ออะไรและปล่อยให้มันทำงาน
                fastcgi_param SCRIPT_FILENAME $document_root/srouter.php;
        }
}

พฤติกรรมที่คาดหวังจะเป็นว่า บันทึกข้อผิดพลาด และ access_log ถูกสร้างขึ้นเป็น www-data ในฐานะเจ้าของ และ webservergroup เป็นกลุ่ม อะไรทำนองนี้เมื่อเราเรียกใช้ ls -l :

-rw-rw-r-- 1 www-data webservergroup 0 ก.ย. 57 09:07 น. access_log
-rw-rw-r-- 1 www-data webservergroup 0 ก.ย. 57 08:43 error_log
Score:0
ธง br

ฉันไม่พบวิธีอื่นใดสำหรับตอนนี้ ....

ฉันเพิ่งให้ Nginx สร้างไฟล์ที่จะเป็นเจ้าของ รากแล้วทำด้วยตนเอง chgrp และ เคี้ยว ให้กับผู้ใช้เป้าหมายของฉันหลังจากสร้างไฟล์แล้ว

สำหรับผม ผมใช้ กลุ่มเว็บเซิร์ฟเวอร์ เป็นกลุ่มไฟล์ซึ่ง nginx ทำงานอยู่ ดังนั้นไฟล์บันทึกจึงอ่านและเขียนได้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา