LuaSocket需要超级用户来创建服务器

Hen*_*gen 0 lua serversocket luasocket

当我尝试在Ubuntu上使用LuaSocket创建一个侦听任何端口的套接字时,套接字的创建失败并显示"权限被拒绝":

require("socket")

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

if not server then print(msg) end
Run Code Online (Sandbox Code Playgroud)

但是,当以超级用户(使用sudo)执行相同的脚本时,服务器的创建工作正常.有没有理由说LuaSocket无法正常创建服务器?我可以做任何事情(在Lua或Ubuntu服务器上),这样就不需要以超级用户身份执行脚本了吗?

Ole*_*kov 7

这不是LuaSocket特有的问题,而是故意的Ubuntu(和许多其他Linux/UNIX)安全限制.非特权用户无法绑定到1024以下的端口.您可以使用privbind解决此限制.