259 apache-2.2
我想保护我的服务器上的文件上传目录,如此处所述,但在按照这些说明进行操作之前我遇到了一个问题。我不知道 Apache 正在以什么用户身份运行。
我发现了一个建议,你可以在 httpd.conf 中查看,并且会有一个“用户”行,但是我的 httpd.conf 文件中没有这样的行,所以我猜 Apache 作为默认用户运行。不过,我不知道那是什么。
所以,我的问题是(是):
谢谢!
gru*_*ech 273
ps aux | egrep '(apache|httpd)'
通常会显示 apache 正在运行的内容。
通常您不需要更改默认用户,“nobody”或“apache”通常是很好的用户。只要它不是“根”;)
编辑:用于捕获 apache 二进制文件的更准确的命令
小智 59
您可以尝试以下命令:
ps -ef | egrep '(httpd|apache2|apache)' | grep -v `whoami` | grep -v root | head -n1 | awk '{print $1}'
Run Code Online (Sandbox Code Playgroud)
小智 41
使用apachectl -S
,它将显示 Apache 用户和组的内容,如下所示:
User: name="_www" id=70
Group: name="_www" id=70
Run Code Online (Sandbox Code Playgroud)
Kev*_*vin 14
根据ubuntuforums.org,在 Ubuntu 上 apache2 的默认用户是www-data
.
在 Ubuntu 13.10 Saucy 上似乎是正确的。
来自上述论坛的Lars Noodén。
要确定 [用户] 的实际设置,请检查实际的配置文件。伞文件,
apache2.conf
将有如下内容,Run Code Online (Sandbox Code Playgroud)User ${APACHE_RUN_USER} Group ${APACHE_RUN_GROUP}
这是对 中设置的环境变量的引用
/etc/apache2/envvars
。mod_suexec
还允许脚本作为不同的用户和组运行。要查找可能使用备用用户、组或两者的任何虚拟主机,请检查配置。
Run Code Online (Sandbox Code Playgroud)$ egrep "^User|^Group|^SuexecUserGroup" /etc/apache2/apache2.conf /etc/apache2/sites-available/*.conf
对于基于 Red Hat 的发行版,它将是(通常它运行 httpd 的用户是apache
):
$ egrep "^User|^Group|^SuexecUserGroup" /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/*.conf
Run Code Online (Sandbox Code Playgroud)
小智 12
我知道这是一个旧帖子,但它仍然被列为未答复,所以我会提出建议。如果您找不到运行 Apache 的用户或组,请尝试打开 httpd.conf 文件。“用户”和“组”应该有一个条目。您不仅可以看到 Apache 应该以哪个用户身份运行,而且您可以在需要时更改它。
小智 10
您可以在 PHP 脚本中包含一行代码:
echo exec('whoami');
Run Code Online (Sandbox Code Playgroud)
小智 5
此代码将或多或少地按字母顺序列出运行包含apache
(或名称包含apache
)的进程的所有非 root 用户
ps aux | grep -v root | grep apache | cut -d\ -f1 | sort | uniq
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
439548 次 |
最近记录: |