2012-05-21 3 views
0

Когда я пытаюсь создать сокет прослушивания на любом порту, используя LuaSocket на Ubuntu, создание сокета терпит неудачу с «доступ запрещен»:LuaSocket требует суперпользователя для создания сервера

require("socket") 

server, msg = socket.bind("*", 23) 

if not server then print(msg) end 

Однако, когда тот же самый сценарий выполняется как суперпользователь (с использованием sudo), создание сервера работает отлично. Есть ли причина, по которой LuaSocket обычно не может создать сервер? Могу ли я что-либо сделать (либо в Lua, либо на сервере Ubuntu), так что нет необходимости выполнять скрипт в качестве суперпользователя?

ответ

7

Это не особая проблема LuaSocket, а преднамеренное ограничение безопасности Ubuntu (и многих других Linux/UNIX). Непривилегированные пользователи не могут привязываться к портам под 1024. Вы можете использовать privbind, чтобы обойти это ограничение.

+0

Спасибо за ваш ответ, это мне очень помогло! :) –

 Смежные вопросы

  • Нет связанных вопросов^_^