ไม่สามารถเปลี่ยนเจ้าของและกลุ่มของ 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