首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Java中为非root用户绑定端口< 1024

在Java中为非root用户绑定端口< 1024
EN

Stack Overflow用户
提问于 2012-03-22 17:24:35
回答 2查看 1.7K关注 0票数 1

我有一个以非根模式运行的Java应用程序。

我的应用将创建一个TFTP服务器(使用apache commons tftp)。TFTP服务器绑定到端口69(默认TFTP端口)。当从IDE运行应用程序时,由于IDE是以根用户身份运行的,所以一切正常。但如果应用程序是从其他用户运行的,我会收到错误消息

代码语言:javascript
复制
java.net.BindException: Permission denied

很明显,对于非root用户,我不能打开端口。是否有解决此问题的方法?

EN

回答 2

Stack Overflow用户

发布于 2012-04-25 15:51:50

来解决这个问题。您可以使用setuid()setfid()系统调用。这样,您就可以临时提升权限,然后将权限重新恢复为用户权限。

票数 2
EN

Stack Overflow用户

发布于 2018-10-09 04:11:18

在我的例子中,这个问题发生在Solaris11操作系统上。我为用户添加了使用1024以下端口的权限。

https://technicalsanctuary.wordpress.com/2014/06/03/allowing-a-user-to-use-ports-under-1024-on-solaris-11/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9819407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档