Tôi muốn sử dụng một ống có tên để liên lạc giữa tập lệnh máy chủ PHP và dịch vụ, tức là một quá trình (tập lệnh Python) lắng nghe ở đầu kia của ống. Dịch vụ này chạy có chủ ý dưới một người dùng không được bảo mật và cũng tạo ra đường ống với một số lệnh Python tương đương với mkfifo mypipe
. Điều này mang lại một tập tin giả mypipe
thuộc sở hữu của người dùng không có đặc quyền này.
Vì tập lệnh PHP chạy như một người dùng khác, nên nó không thể ghi vào đường dẫn đó ngay lập tức. Tất nhiên có nhiều cách khác nhau để giải quyết vấn đề. Tuy nhiên, tôi muốn tránh những cạm bẫy an ninh có thể xảy ra.
Vì vậy, câu hỏi của tôi là trong thư mục nào tôi nên đặt ống có tên (thư mục máy chủ là / var / www), chủ sở hữu và quyền nào cần có và cuối cùng, làm thế nào và ở đâu tôi nên xác thực (thoát) nội dung được gửi từ PHP -Mô tả dịch vụ.
chgrp servicegroup
điều này làm phiền tôi một chút rằng tôi có thể cần phải thêm một mục vào tệp sudoers cho người dùng dịch vụ để có quyền thay đổi nhóm hoặc tạo tập lệnh khởi tạo để thực thi lệnh với các đặc quyền.