我的php想用root权限调用shell脚本,怎么让apache拥有root权限,该http.conf为root,apache启动不了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的php想用root权限调用shell脚本,怎么让apache拥有root权限,该http.conf为root,apache启动不了相关的知识,希望对你有一定的参考价值。

参考技术A 进服务器,把apache权限改为777本回答被提问者采纳 参考技术B 把http.conf权限改成777试试

shell以root yii文件权限登录 - 痛苦

【中文标题】shell以root yii文件权限登录 - 痛苦【英文标题】:shell logged in as root yii file permissions - pain 【发布时间】:2012-09-19 00:44:58 【问题描述】:

基于堆栈溢出的建议,我正在给 yii 框架一个旋转。

如果我以 root 身份登录,我似乎只能获得对我的 Web 服务器的 shell 访问权限。

我正在浏览本教程,但在创建 Web 应用程序的典型命令时遇到了许多问题-

/usr/local/bin/php /home/testuser/public_html/yii/framework/yiic webapp /home/testuser/public_html/demo
    我必须每次都输入 /usr/local/bin/php 吗??? 我每次都必须完整输入 /home/testuser/public_html/yii/framework/yiic 吗??? 我必须输入完整的 /home/testuser/public_html/demo 吗? 当我以 ROOT 身​​份登录时,我必须对 root 创建的每个文件/文件夹进行 chown 以使文件可以被 testuser 看到!!! 我使用 yii 创建了一个新控制器。 controller message helloWorld,yii 做了一些时髦的东西,但是如果没有 chown EVERYTHING,我什么也做不了!!!

我对 SSH 不太自信,而且我知道这完全是一条学习曲线,但是……每次都必须更改文件权限,而且每次都必须输入完整的目录实在是太痛苦了。

我知道有一些捷径我可能会随着时间的推移而学习,但如果有人能给我一些建议,让我的生活轻松 100 万倍(考虑到我目前的主要目标是学习 yii 框架)linux/terminal /shell 命令目前对我的要求是次要的。

【问题讨论】:

【参考方案1】:

这是我要做的,按以下顺序:

1 - 当您以root 登录时,发出命令su - testuser。这会将您的有效用户 id 和 groupid 更改为 testuser,这意味着您现在正在以该用户帐户的身份进行操作。您的当前目录现在应该是testuser 的主目录。要返回root 用户,只需输入exit

2 - 尝试在没有完整路径的情况下运行 php -v。如果它打印出版本号,那么您不必使用完整路径来运行php。如果出现错误,则可以将/usr/local/bin 添加到.profile 文件中的PATH 环境变量,该文件位于testuser 的主目录中。如果.profile 不存在,那么您可以创建它。

3 - 将/home/testuser/public_html/yii/framework 添加到testuser.profile 中的PATH。

完成所有操作后,下次您以 root 登录时,您将能够执行以下操作:

su - testuser
cd public_html
php yiic webapp demo

而且您不必担心权限问题,因为您将目录/文件创建为testuser,而不是root

另请参阅:*** question about modifying your PATH

【讨论】:

以上是关于我的php想用root权限调用shell脚本,怎么让apache拥有root权限,该http.conf为root,apache启动不了的主要内容,如果未能解决你的问题,请参考以下文章

php 利用root 权限执行shell脚本

linux shell 命令

centos 配置 php 执行shell的权限

shell脚本--php执行shell命令

在linux下希望让apache服务器以root用户来运行怎么做,或者想用apache的默认用户来登录linux

linux shell调用java的jar包怎么写?