Я запускаю сервер node.js, который будет обслуживать запросы на порт 80 среди других. Очевидно, для этого требуется, чтобы приложение выполнялось как root (в Linux).
Глядя на это сообщение (http://syskall.com/dont-run-node-dot-js-as-root), в качестве примера ясно, что есть простые способы разрешить запуск node как пользователь без полномочий root, но мне интересно, есть ли у кого-нибудь мнения о преимуществах/недостатках различных предложенных методов:
-
code: использовать setuid() для выпадания из корня в непривилегированный пользователь после прослушивания на порту 80.
-
используя прокси-сервер какого-либо типа для перенаправления запросов на порт > 1024 (и поэтому не нужно node для запуска от имени пользователя root)
-
используя IP-таблицы для пересылки на другой порт (ditto node не запускается с правами root)
Спасибо