LINUX.ORG.RU
ФорумAdmin

Не хватает прав для запуска http сервера

 ,


0

1

Привет, lor

Нужно заставить работать временную http файлопомойку не от рута. Для этих целей создал спец. пользователя, домашней папкой установил корень сайта. Сервер запускаю так:

python3 -m http.server 80
В ответ даёт ошибку:
  File "/usr/lib/python3.4/socketserver.py", line 440, in server_bind
    self.socket.bind(self.server_address)
PermissionError: [Errno 13] Permission denied
Добавил в группу www-data - не помогает. В какую группу добавить пользователя или что с ним сделать, чтобы он смог сокет открыть? От рута всё работает, но не хочется запускать с такими привилегиями, боюсь.

Debian 8.0

★★

80-й порт может слушать только рут.

Не от рута запускай на большом порте (8080, 8088, что сам придумаешь), а на него делай переадресацию с рутового nginx или iptables.

Пример из интернетов

iptables -t nat -I PREROUTING --src 0/0 --dst 192.168.1.5 -p tcp --dport 80 -j REDIRECT --to-ports 8080
anonymous
()
Ответ на: комментарий от anonymous

Вах, работает! Спасибо, дружище!

rmu ★★
() автор топика

В unix порты до 1024 зарезервированы для рута, либо запускай под root либо используй port > 1024.

itn ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.