Почему я должен быть "sudo" для запуска сервера Moovweb?
Я скачал Moovweb SDK и установил его на свой компьютер.
Я побежал moov login
и вошел в мои полномочия.
Я создал проект, используя moov generate example example.com
Зачем мне печатать sudo moov server --auto-hosts
?
Что он делает, что ему нужен доступ суперпользователя?
2 ответа
Этот root-доступ необходим для запуска службы, использующей порт 80 или любой порт ниже 1024.
Это функция безопасности ядра Linux.
Более подробная информация:
"Почему только root может прослушивать порты ниже 1024?" в блоге Микаэля Сталдала
Решение 1:
Если вы не хотите каждый раз вводить пароль root или автоматизировать подобные задачи скриптом - научитесь использовать sudoers
,
Howto: Конфигурация Sudoers на ubuntuforums.org
Решение 2:
Предел порта определяется в исходном коде ядра, в include/net/sock.h
файл.
/* Sockets 0-1023 can't be bound to unless you are superuser */
#define PROT_SOCK 1024
Чтобы изменить это на рабочем столе (не рекомендуется на серверах) - вы можете скомпилировать новое ядро, PORT_SOCK
установлен в 79
разблокировать порт 80 для пользователей без полномочий root или установить его на 0
разблокировать все порты.
Запускает сервер в портах 80
или же 443
для этого требуются права суперпользователя.