Почему я должен быть "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 для этого требуются права суперпользователя.

Другие вопросы по тегам