Điểm:0

Không thể thay đổi chủ sở hữu và nhóm Nginx error_log và access_log

lá cờ br

Không thể thay đổi chủ sở hữu và nhóm Nginx error_log và access_log

Tôi muốn thay đổi chủ sở hữu và nhóm error_log và access_log của nginx ngay lập tức từ nginx (không sử dụng chgrp và chown theo cách thủ công). Trong khi vẫn giữ nginx chạy với quyền root để nó có thể lắng nghe trên cổng 80, 443, v.v......

Máy chủ đang chạy Ubuntu 20.04, nginx/1.18.0 (Ubuntu)

Có vẻ như bất kể vị trí là gì:

/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
...

Tất cả đều thuộc sở hữu của gốc: gốc bỏ qua các cài đặt được mô tả trong người dùng chỉ thị.

đầu ra của ls -l :

-rw-r--r-- 1 gốc gốc 0 ngày 14 tháng 9 09:07 access_log
-rw-r--r-- 1 gốc gốc 0 ngày 14 tháng 9 08:43 error_log

Vài (Cắt bớt) nội dung của /etc/nhóm :

gốc:x:0:
yêu tinh:x:1:
thùng:x:2:
hệ:x:3:
adm:x:4:syslog
tty:x:5:syslog
đĩa:x:6:
lp:x:7:
dữ liệu www:x:33:
sao lưu:x:34:
toán tử:x:37:
...
nhóm máy chủ web:x:1001:tirtagt,www-data,anotherusertại đây
...

Mặc dù tôi đã chỉ định người dùng chỉ thị về /etc/nginx/nginx.conf :

người dùng www-data webservergroup;
worker_processes tự động;
pid /run/nginx.pid;
bao gồm /etc/nginx/modules-enabled/*.conf;

Khối máy chủ ví dụ:

người phục vụ {
        nghe 80;

        gốc /var/www/sub.example.com;

        # Đặt tên miền hoặc tên máy chủ tại đây
        server_name sub.example.com;

        # lỗi_log
        error_log /var/www/sub.example.com/error_log thông báo;
        access_log /var/www/sub.example.com/access_log;
    
        # Khai báo mức độ ưu tiên nếu không có đường dẫn hoặc tệp được chỉ định.
        chỉ mục index.html index.htm index.php;

        # Nắm bắt tất cả các vị trí
        địa điểm / {
                # Chuyển nó tới cầu FastCGI PHP
                bao gồm fastcgi_params;
                fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;

                # Chạy DynamicPHPRouter cho mọi thứ và để nó thực hiện công việc của mình.
                fastcgi_param SCRIPT_FILENAME $document_root/srouter.php;
        }
}

hành vi mong đợi sẽ là error_logtruy cập_log được tạo dưới dạng dữ liệu www với tư cách là chủ sở hữu và nhóm máy chủ web với tư cách là nhóm, đại loại như thế này khi chúng tôi chạy ls -l :

-rw-rw-r-- 1 www-data webservergroup 0 ngày 14 tháng 9 09:07 access_log
-rw-rw-r-- 1 www-data webservergroup 0 ngày 14 tháng 9 08:43 error_log
Điểm:0
lá cờ br

Tôi đã không tìm thấy bất kỳ cách nào khác, bây giờ ....

Tôi chỉ để Nginx tạo tệp sẽ thuộc sở hữu của nguồn gốc, và sau đó làm thủ công chgrpchown cho người dùng mục tiêu của tôi sau khi tệp được tạo.

Đối với tôi, tôi sử dụng nhóm máy chủ web là nhóm tệp mà nginx cũng đang chạy trên đó, vì vậy tệp nhật ký có thể đọc và ghi được.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.