Uygulamanın paketlenme şekli. Çoğu * nix'te, varsayılan kurulum ayrıcalıklı olmayan bir kullanıcıdır ve <1024 numaralı bir bağlantı noktasında dinleyemez ve web sunucuları 80 ve 443 kullanır.
Linux 2.2+, Solaris 10+ ve FreeBSD'lerin hepsi root olmayan kullanıcıların varsayılan olarak değil, 1024'ten daha düşük portları dinlemelerine izin veriyor. Çoğu, kullanılmaya root
devam ettiği için kullanımını kabul etti .
Ayrıcalıklı bağlantı noktasına bağlanma erişimi dışında, nginx çalıştıran kullanıcının ihtiyaç duyduğu tüm dosyalara erişebildiğinden emin olmanız gerekir. Muhtemelen bu kadar ileri gitmene gerek yok, sadece dosyalara / dizinlere izin ver. Ayrıca başlangıç komut dosyalarının ulimit
değişiklik gibi sinsi bir şey yapıp yapmadığını kontrol etmeniz gerekir (mysql gibi her zaman olduğu gibi).
setcap
ve bir çalıştırılabilir dosyanın özelliklerini getcap
değiştirmenize veya görüntülemenize izin verin cap_net_bind_service
. Bu ikiliyi yürüten herkes için geçerli olacaktır.
setcap cap_net_bind_service=+ep /usr/sbin/nginx
SELinux, yetenekleri kullanıcı düzeyinde yapılandırma ve kontrol etme yeteneği sağlar.
Freebsd sistem ayarları
Ayrılmış bağlantı noktası ayarları sistem için geneldir
sysctl net.inet.ip.portrange.reservedhigh=0
sysctl net.inet.ip.portrange.reservedlow=0
Solaris, kullanıcı seviyesinde ince taneli ayrıcalık kontrolü sağlar. Bunlar, apache'nin ayrıcalıklarıdır, ancak nginx için de çalışma olasılıkları yüksektir.
/usr/sbin/usermod -K defaultpriv=basic,proc_exec,proc_fork,net_privaddr nginx