这是运行 Ubuntu 的普通 LAMP 服务器。我之所以要这样做是因为我希望 php 脚本能够通过 exec() 函数运行 linux 命令,而我想要运行的命令需要“nobody”没有的权限。我已添加具有适当权限的新用户“web”,现在我只需要将我的 web 服务器设置为用户“web”。
答案1
其位于:
/etc/apache2/envvars
通常(默认情况下):
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
您可以在此处更改 apache 的运行用户。您需要重新启动 apache 才能使更改生效。
您真正想要的是 SUEXEC。 你所提出的建议相当草率和粗暴;它还带来了巨大的安全风险。
你真正应该做的是这。
答案2
看一下执行。或者,您可以设置 Apache 的运行用户。这是我的 httpd.conf 的摘录
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User www
Group www
答案3
我知道这来晚了,但我在尝试解决类似问题时偶然发现了这个问题。我建议你运行我是谁确定当前用户。然后使用以下命令授予用户正确的权限维素多
默认情况下,apache 使用用户 www-data 运行,您可以在维苏多通过在以下行中添加/etc/sudoers
www-data ALL = NOPASSWD : /usr/local/bin
你可以更换在/usr/本地/bin使用您想要在脚本中运行的命令。