Thật bất thường khi thấy Apache chạy như root
trong bất kỳ cấu hình chứng khoán nào. Làm thế nào bạn xác định rằng Apache đang chạy bằng root? Lưu ý rằng Apache phải khởi động với quyền root để liên kết với các cổng đặc quyền, nhưng thường sẽ loại bỏ các đặc quyền của nó sau này.
Bạn có thể xem cấu hình Apache của bạn (thường trong /etc/httpd
hoặc /etc/apache2
, tùy thuộc vào phân phối của bạn) để biết các chỉ thị User
và Group
tài liệu (được ghi lại ở đây ). Hai chỉ thị này kiểm soát theo những gì người dùng id Apache chạy.
Nó cũng là bất thường để tìm một hệ thống "không có nhóm hoặc người dùng khác". Làm gì getent passwd
và getent group
thể hiện điều gì? Có thực sự không có người dùng hoặc nhóm khác ngoài root
? Hầu hết các bản phân phối đều có một apache
hoặc một www-data
người dùng hoặc somesuch và một cấu hình phù hợp sẽ chạy Apache với tư cách là người dùng đó.
Có rất nhiều hướng dẫn giới thiệu về cấu hình và bảo mật của Apache. Một tìm kiếm đơn giản của Google mang lại nhiều kết quả có khả năng tìm kiếm. Hướng dẫn triển khai RedHat / CentOS là một nơi tốt để bắt đầu (nếu bạn đang sử dụng hệ thống RedHat / CentOS).