当我尝试在Ubuntu上使用LuaSocket创建一个侦听任何端口的套接字时,套接字的创建失败并显示“权限被拒绝”:
require("socket")
server, msg = socket.bind("*", 23)
if not server then print(msg) end
但是,当以超级用户(使用sudo)执行相同的脚本时,服务器的创建工作正常。有没有理由说LuaSocket无法正常创建服务器?我可以做任何事情(在Lua或Ubuntu服务器上),这样就不需要以超级用户身份执行脚本了吗?
答案 0 :(得分:7)
这不是LuaSocket特有的问题,而是故意的Ubuntu(以及许多其他Linux / UNIX)安全限制。非特权用户无法绑定到1024以下的端口。您可以使用privbind
来解决此限制。