我正在尝试构建一个在我的服务器上进行一些更改的脚本,我可以通过访问网页来调用它。
但是,我在 apache 用户的权限方面遇到了许多困难,他们试图在我的 php 脚本中运行 shell 命令。根据您的服务器,用户可能是 wwwrun 或 wwwdata。
例如,我想将目录更改为../subdomains/$url/httpdocs/
,但如果我运行后续pwd
,我还没有更改目录。我可以列出其他目录,但文件夹的权限使我无法进行大部分更改。
不过,我不能只是手动进入服务器并 chmod 文件夹,因为文件夹应该是在我进入进行其他更改之前由系统自动生成的。
起初,我尝试编辑 /etc/sudoers,它适用于我机器上我实际上知道其位置的可执行文件。但是,尽管我进行了所有搜索,但我找不到内置可执行文件(如 cd)的 BaSH 的位置。但是,我觉得这是一个红鲱鱼。将这些功能添加到我的 sudoers 文件中可能对安全性不利。
也许 apache suEXEC 是要走的路。但是我在服务器管理旅行方面不是很先进,而且我还没有找到适合我技能水平的人安装和设置它的适当指南。
我还尝试编写一个 shell 脚本,我可以从第一个 php 脚本调用它,但我正在努力让它工作。我会坚持下去,但我觉得我可以而且应该能够让原始文件正常工作。
对不起,文字墙。谢谢你的帮助。