如何确定Apache运行的用户?

时间:2011-03-17 17:38:49

标签: apache

如何检查什么是Apache用户?

我需要为它提供读写权限,对于我的Web根目录和Web根目录之外的某些目录,我该怎么做?

由于我不清楚Apache用户是什么,我无法回答我的下一个问题。

6 个答案:

答案 0 :(得分:7)

ps aux | egrep '(apache|httpd)'通常会显示正在运行的apache。

通常您无需更改默认用户“nobody”或“apache”

答案 1 :(得分:3)

至少你需要指定你正在使用的操作系统。在httpd.conf中查找“User”指令。它会告诉你用户apache将作为什么运行。

答案 2 :(得分:1)

答案1:什么是Apache用户以及定义的位置

在位于/etc/apache2/httpd.conf下的默认 http.conf文件中(此文件位置因操作系统而异)om我的MAC,apache用户是_www(默认用户名因为它附带了apache下载

因为我在httpd.conf中看到了这个

User _www

答案2:如何向该用户授予对文件夹“foo”的读写权限

check who owns foo, by doing ls -l
# Use chown command to make _www ( apache user ) own "foo" folder
chown _www foo
# user chmod +666 to make this "foo" folder read write accessible
chmod 666 foo

关于权限http://www.macinstruct.com/node/415

的两分钟阅读

答案 3 :(得分:1)

您可以尝试使用以下命令进行检查:

ps axo user,group,comm | egrep '(apache|httpd)'

或者更多(通过以下方式提取确切的用户名):

ps axo user,group,comm | egrep '(apache|httpd)' | grep -v ^root | uniq | cut -d\  -f 1
ps axo user,group,comm | egrep '(apache|httpd)' | grep -v ^root | tail -1 | awk '{print $1}'

对于Apache组,请使用以下命令:

ps axo user,group,comm | egrep '(apache|httpd)' | grep -v ^root | uniq | cut -d\  -f 2

答案 4 :(得分:0)

Apache用户通常是apache httpd服务器在运行时使用的用户。它使用了这个" apache"用户避免使用"人类"用户,并避免以root身份运行。

安装" apache"的优点用户不必以root身份运行,因此在处理http请求期间,损坏和丢失整个操作系统的风险较小。

拥有" apache"唯一真正的缺点用户是您需要使网络呈现的内容可以被" apache"用户。这通常涉及unix命令chownchmod以及有时各种selinux命令的组合。

答案 5 :(得分:0)

apache2 用户可以通过以下方式找到。 转到 /etc/apache2/apache2.conf 并查找 User

User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

要找出 APACHE_RUN_USER 和 APACHE_RUN_GROUP 的值,请检查 /etc/apache2/envvars

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data