使用shell_exec或exec作为不同的unix用户?

Mar*_*coT 3 php unix

我可以在运行shell_exec或exec时以不同的用户身份登录PHP吗?

我不希望它使用www-data用户,因为我想执行命令作为git用户,以便在当前机器中创建repos.

web*_*ave 7

我可以在运行shell_exec或exec时以不同的用户身份登录PHP吗?

这是一个危险的选项,它可能会在您的服务器中造成严重的安全漏洞.应该避免.

我想以git用户身份执行命令

我建议您的Web应用程序将有关需要创建的新repo的信息写入数据库表.然后在作为git用户运行的服务器上有一个持续运行的进程(或通过cron调用的进程).该过程可以定期检查该资源并创建回购.这样,您的Web服务器不会进行用户切换,您仍然可以安全地创建新的repo.