当前位置: 首页 > 知识库问答 >
问题:

以根用户身份运行Java程序的一部分

祝花蜂
2023-03-14
 try
    {
         addr = Inet6Address.getByName(host);
         isReachable = addr.isReachable(20*1000);
    } catch (UnknownHostException e)

提前致谢

共有1个答案

王修为
2023-03-14

Java程序没有可移植的方法来更改有效的用户ID;即从以root权限运行更改为其他用户。(即使在C语言中,应用程序也不能随意地在特权和非特权之间切换。特权切换是一条单行道。)

读取inetaddress.isreachable的javadoc时,它确实使用不同的机制,这取决于JVM进程的特权。但是,isreachable使用的两种方法都不能保证工作;例如。

  • 某些防火墙可能有选择地阻止ICMP回显消息,
  • 目标计算机可能没有在端口7上运行回显服务...或者端口7可能被防火墙锁定。
 类似资料:
  • 问题内容: 在昨天的Shocker消息发布之后,似乎Docker容器中的应用程序不应以root用户身份运行。我尝试更新自己以创建应用程序用户,但是更改对应用程序文件的权限(虽然仍然是root)似乎不起作用。我猜这是因为未将某些LXC权限授予root用户? 这是我的Dockerfile: 很简单,但是当我一切仍然由root拥有时: 感谢@creak对卷的工作原理的澄清,我更新的dockerfile的

  • 问题内容: 我需要在Jenkins中以root身份而不是默认用户身份运行Shell脚本。我需要更改什么? 我的sudoers文件是这样的: 问题答案: 您必须使用以下命令运行脚本: 但是在您必须允许在中运行脚本之前。

  • 问题内容: 我在本地主机上运行Apache。通过以www- user用户身份运行的PHP脚本,我想控制我的机器上Rhythmbox的播放。到目前为止,我的PHP脚本中有一个简单的命令: 当我像我一样从命令行运行它时,它的效果很好,但是如果它以www-user身份运行,我想不知道/无法访问我的Rhythmbox实例。 有没有一种简单的方法可以让该PHP脚本以我的用户而不是www-user的身份运行,

  • 我使用Ansible安装了Nginx。要在Centos7上安装,我使用了yum软件包,因此默认情况下它是以root用户身份运行的。我希望它在Centos中以不同的用户(前nginx用户)身份启动和运行。当我尝试与其他用户一起运行时,会出现以下错误: nginx的工作。服务失败,因为控制进程已退出,错误代码为。有关详细信息,请参阅“systemctl status nginx.service”和“j

  • 问题内容: 在昨天的Shocker消息发布之后,似乎Docker容器中的应用程序不应以root用户身份运行。我尝试更新自己以创建应用程序用户,但是更改对应用程序文件的权限(虽然仍然是root)似乎不起作用。我猜这是因为未将某些LXC权限授予root用户? 这是我的Dockerfile: 很简单,但是当我一切仍然由root拥有时: 感谢@creak对卷的工作原理的澄清,我更新的dockerfile的

  • 问题内容: 我使用指南安装了jenkins,该指南在服务器中创建了一个“ jenkins”用户,并且显然在其下运行jenkins服务器。 我在服务器上的所有设置(虚拟环境,python软件包安装)均针对其他用户(“ ci-user”)。我有什么办法可以以“ ci_user”而不是“ jenkins”的身份运行我的工作?我想避免为“詹金斯”用户再次进行所有设置。 问题答案: 文件中有变量。您可以将其