我想到了suPHP,但这不是我所需要的。以其他用户身份运行整个PHP脚本并不能达到我的目的。我只需要以其他用户身份运行一个Linux命令行即可。
可能吗?
您可以尝试shell_exec函数和sudo
编辑
:看到sudo提示输入密码,您可能想使用proc_open,它允许您使用管道。请参阅此注释,以了解如何创建自定义密码管道。
问题内容: 我正在编写一个初始化脚本,该脚本应该以与root用户不同的用户身份执行单个命令。这是我目前正在做的事情: 通常,这在Ubuntu / Debian上可以正常工作,但是在RHEL上,该脚本以挂起方式执行。 还有另一种以其他用户身份运行命令的方法吗? (请注意,我不能使用lsb初始化函数,因为它们在RHEL / Centos 5.x中不可用。) 问题答案: 在RHEL系统上,该脚本旨在提供
问题内容: 我在本地主机上运行Apache。通过以www- user用户身份运行的PHP脚本,我想控制我的机器上Rhythmbox的播放。到目前为止,我的PHP脚本中有一个简单的命令: 当我像我一样从命令行运行它时,它的效果很好,但是如果它以www-user身份运行,我想不知道/无法访问我的Rhythmbox实例。 有没有一种简单的方法可以让该PHP脚本以我的用户而不是www-user的身份运行,
问题内容: 我需要检测php是否以没有人的身份运行。我该怎么做呢? “ nobody”还有其他名称吗?“ apache”?还有其他吗? 问题答案: 如果可用,您可以使用来探测当前用户帐户,然后使用来获取用户名 。 但是,如果您以安全模式运行(通常是在禁用exec的情况下),则您的PHP进程不太可能在默认值或帐户下运行。
问题内容: 我最近开始使用Jenkins进行集成。一切都很好,直到我在没有shell命令的情况下在主节点上运行作业,但是我必须在包含shell命令的主节点和从属节点上运行作业。我无法以root用户身份运行这些Shell命令。我努力了 使用。 在shell命令中设置用户名。 使用。 我得到我每次使用任何上述方法时错误。 问题答案: 您需要修改用户的权限,以便您可以运行shell命令。您可以将jenk
我最近开始使用Jenkins进行集成。在没有shell命令的情况下在主节点上运行作业之前,一切都很好,但我必须在主节点和从节点上运行作业,从节点包含要运行的shell命令。我无法以root用户身份运行这些shell命令。我试过了 使用 在shell命令中设置用户名 使用 每次使用上述任何一种方法时,我都会遇到错误。
问题内容: 我需要在Jenkins中以root身份而不是默认用户身份运行Shell脚本。我需要更改什么? 我的sudoers文件是这样的: 问题答案: 您必须使用以下命令运行脚本: 但是在您必须允许在中运行脚本之前。