我正在尝试使用Nginx Web服务器使用PHP执行bash脚本。对于我正在做的事情,它必须以" myuser"而不是" www-data" (因为它在执行时不起作用" www-data")。
我对如何做到这一点没有任何想法。我已经改变了用户www-data;" in" user myuser;"在/etc/nginx.conf但仍然是同样的问题。
有什么想法吗?
感谢您的帮助。
答案 0 :(得分:2)
此要求通常有四种解决方案策略:
使用php作为cgi scipting引擎,允许使用文件系统suid或guid位来切换有效用户ID。然而,这是非常不安全的,你真的必须保护你的网络服务器。
看一下php提供的sudo模块。
你可以从php开始一个后台进程,它使用上述一个想法
您可以修复您的内容,使其与当前用户ID一起使用。是的,这是可能的。
答案 1 :(得分:2)
因为它作为“www-data”
执行时不起作用
因此,请更改脚本的所有权。
chown www-data:www-data scriptName.sh
答案 2 :(得分:0)
尝试编辑这些文件
用户YOUR_USER YOUR_GROUP;
worker_processes 4; pid /run/nginx.pid;
user = www-data
group = www-data
和
listen.owner = www-data
listen.group = www-data
然后
sudo /etc/init.d/nginx restart
和
sudo /etc/init.d/php5-fpm restart
我希望它有所帮助。