我有一段应该由jsvc调用的守护进程代码。代码需要绑定到1024以下的特权端口。我没有root访问权限,所以我想到authbind。我试过了:
authbind --deep jsvc ...
但在jsvc.err
中,它仍然说:
java.net.SocketException: Permission denied
我做错了吗?
答案 0 :(得分:0)
是的,您可能忘了配置authbind。
如果要允许用户jo
绑定端口80
,则必须以root身份运行以下命令。
root@lappy:~# touch /etc/authbind/byport/80
root@lappy:~# chown jo:jo /etc/authbind/byport/80
root@lappy:~# chmod 755 /etc/authbind/byport/80
阅读Debian管理指南中的Running network services as a non-root user以获取更多信息。