我有一段应该由 jsvc 调用的守护程序代码。代码需要绑定到 1024 以下的特权端口。我没有 root 访问权限,所以我正在考虑 authbind。我试过了:
authbind --deep jsvc ...
但在 中jsvc.err
,它仍然说:
java.net.SocketException: Permission denied
我做错什么了吗?
我有一段应该由 jsvc 调用的守护程序代码。代码需要绑定到 1024 以下的特权端口。我没有 root 访问权限,所以我正在考虑 authbind。我试过了:
authbind --deep jsvc ...
但在 中jsvc.err
,它仍然说:
java.net.SocketException: Permission denied
我做错什么了吗?
是的,您可能忘记配置 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 管理指南中的以非 root 用户身份运行网络服务以获取更多信息。