如何检查Apache用户是谁?
我需要为Web根目录内外的某些目录授予读写权限,我该怎么做?
由于我不知道什么是Apache用户,因此无法回答我的下一个问题。
如何检查Apache用户是谁?
我需要为Web根目录内外的某些目录授予读写权限,我该怎么做?
由于我不知道什么是Apache用户,因此无法回答我的下一个问题。
ps aux | egrep '(apache|httpd)'
通常会显示apache运行的信息。
通常情况下,您不需要更改默认用户,即“nobody”或“apache”。
至少需要说明您正在使用的操作系统。在httpd.conf文件中查找“User”指令,它将告诉您Apache将以哪个用户身份运行。
exec('whoami')
在 PHP 中确定用户。 - Coalpaw可以通过以下方式找到apache2用户。 进入/etc/apache2/apache2.conf文件,查找User
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
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}'
ps axo user,group,comm | egrep '(apache|httpd)' | grep -v ^root | uniq | cut -d\ -f 2
答案1:什么是Apache用户及其定义位置
在我的MAC上,默认的http.conf文件位于/etc/apache2/httpd.conf(此文件位置因操作系统而异),其中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
Apache用户通常是Apache httpd服务器在运行时使用的用户。它使用这个“apache”用户来避免使用“人类”用户,并避免以root身份运行。
安装“apache”用户的优点包括不必以root身份运行,因此在处理http请求时,减少了损坏和丢失整个操作系统的风险。
唯一真正的缺点是需要使Web呈现的内容对“apache”用户可访问。这通常涉及Unix命令chown
,chmod
和有时各种selinux命令的组合。