Це спосіб упаковки програми. У більшості * nix налаштування за замовчуванням - це непривілейований користувач, який не може слухати порт <1024, а веб-сервери використовують 80 та 443.
Linux 2.2+, Solaris 10+ та FreeBSD дозволяють користувачам, які не користуються коренем, слухати порти нижче 1024, але не за замовчуванням. Більшість прийняли використання, root
тому воно залишається у використанні.
Крім доступу для прив’язки до привілейованого порту, вам потрібно переконатися, що користувач, що працює з nginx, має доступ до всіх необхідних йому файлів. Напевно , вам не потрібно йти так далеко, але просто встановіть правильний дозвіл на файли / каталоги. Вам також потрібно перевірити, чи сценарії запуску не роблять нічого подібного підступногоulimit
зміни (на зразок mysql, здається, завжди).
setcap
і getcap
дозволить вам змінити або переглянути cap_net_bind_service
можливості для виконуваного файлу. Це буде діяти для всіх, хто виконує двійковий файл.
setcap cap_net_bind_service=+ep /usr/sbin/nginx
SELinux надає можливість налаштувати та керувати можливостями на рівні користувача.
Налаштування системи Freebsd
Параметри зарезервованих портів глобальні для системи
sysctl net.inet.ip.portrange.reservedhigh=0
sysctl net.inet.ip.portrange.reservedlow=0
Solaris забезпечує тонкозернистий контроль над привілеями на рівні користувача. Це привілеї для apache, але вони, ймовірно, можуть працювати і для nginx.
/usr/sbin/usermod -K defaultpriv=basic,proc_exec,proc_fork,net_privaddr nginx