K..*_*K.. 3 linux permissions debian socket
我想启动一个 websocket 服务器,但无法从其他机器连接到它。只有当我使用 root 权限启动 websocket 服务器时,它才能工作。所以这似乎是一个权限问题。
我的用户需要哪些权限才能打开套接字?
通常需要root权限才能打开1024以下的端口,这涵盖了大部分众所周知的服务,如web(80)、ssh(22)、ftp(21)等。
某些守护进程可以配置为侦听端口 1024 以上的其他端口,这可能让您以非 root 权限使用它们,但它因产品而异。
还有其他解决方法,例如使用CAP_NET_BIND_SERVICE,在这个答案中有更详细的描述,其中的摘要是,
简短的回答是你这样做:
setcap 'cap_net_bind_service=+ep' /path/to/program然后无论何时执行程序,它都会有
CAP_NET_BIND_SERVICE能力。setcap在 debian 包中libcap2-bin。