以用户 x 身份运行的 Linux 使用 Runtime.exec 执行 Linux 命令。该命令以哪个用户身份运行以及如何判断?
是的。以 root 身份运行的 Eclipse 不会执行作为字符串传递给 java 的 sudo -n 命令,但以非 root 身份运行的 shell 会执行。然后,如果我将命令放入 .sh 脚本中,并将非 root 添加到 sudoers 并允许用户 sudo 脚本,则命令会运行,但前提是该命令包含在脚本中。此外,我已将命令添加到允许用户 sudo 的允许命令列表中。它们将在 shell 中工作,但不是 java run exec 中的直接命令,但在 java run exec 中,它们仅在包含在脚本中时运行,如所解释的那样
示例:当将“sudo -n iptables -L -v -n”作为字符串“sudo -n iptables -L -v -n”传递到 java 运行执行代码时,将无法运行,但当将字符串“/bar/script.sh”传递到 java 运行执行代码时,其中脚本包含“sudo -n iptables -L -v -n”,则可以正常运行。