Đó là cách ứng dụng được đóng gói. Trên hầu hết * nix, thiết lập mặc định là người dùng không có đặc quyền không thể nghe trên một cổng <1024 và các máy chủ web sử dụng 80 và 443.
Mặc dù vậy, Linux 2.2+, Solaris 10+ và FreeBSD đều cho phép người dùng không root có thể nghe trên các cổng thấp hơn 1024, nhưng không phải mặc định. Hầu hết đã chấp nhận sử dụng root
vì vậy nó vẫn được sử dụng.
Khác với quyền truy cập để liên kết với cổng đặc quyền, bạn cần đảm bảo người dùng đang chạy nginx có quyền truy cập vào tất cả các tệp mà họ cần. Bạn có thể không cần phải đi xa như thế này mà chỉ cần đặt quyền chính xác cho các tệp / thư mục. Bạn cũng cần kiểm tra xem các tập lệnh khởi động không làm bất cứ điều gì lén lút như các ulimit
thay đổi (như mysql dường như luôn luôn như vậy).
setcap
và getcap
cho phép bạn thay đổi hoặc xem cap_net_bind_service
khả năng thực thi. Điều này sẽ có hiệu lực cho bất cứ ai thực hiện nhị phân.
setcap cap_net_bind_service=+ep /usr/sbin/nginx
SELinux cung cấp khả năng cấu hình và kiểm soát các khả năng ở cấp độ người dùng.
Cài đặt hệ thống Freebsd
Các cài đặt cổng dành riêng là toàn cầu cho hệ thống
sysctl net.inet.ip.portrange.reservedhigh=0
sysctl net.inet.ip.portrange.reservedlow=0
Solaris cung cấp kiểm soát chi tiết tốt các đặc quyền ở cấp độ người dùng. Đây là những đặc quyền cho apache nhưng chúng cũng có khả năng hoạt động cho nginx.
/usr/sbin/usermod -K defaultpriv=basic,proc_exec,proc_fork,net_privaddr nginx