Apache umask 002 未改变权限

Apache umask 002 未改变权限

我用过

[root ~]$ echo "umask 002" >> /etc/sysconfig/httpd
[root ~]$ service httpd restart

重新启动 apache 多次,但每当我从脚本安装某些东西时,目录仍然不是可组写入的。

我应该怎么办

我检查了文件,umask 002 位于文件末尾

答案1

这是在 CentOS 中为 Apache 指定 umask 的标准方法之一。如果您的 init 脚本 (/etc/rc.d/init.d/httpd) 引用 /etc/sysconfig/httpd 文件,则要么未指定 umask,要么有其他东西覆盖了它。

文件是如何创建的?

答案2

Apache是以nobody哪个用户身份运行的?这是相当常见的,,apache并且www-datanobody相当常见。尝试ps ax | grep apache看看第一行显示什么,然后仔细检查您的配置。

如果nobody是用户 apache 正在运行,那么你需要将sudo chown nobody.nobody /var/www/whatever/directory/apache 需要 rwx 权限的目录的所有权更改为nobodynobody

然后 apache 将能够在该目录中创建文件,并且后续脚本也将能够将其插件等下载/安装到该目录中。

然后,正如我之前所说,您将从 Web 界面而不是从 shell 管理插件和脚本等。

在您的 apache httpd 配置文件中,有一行显示User usernameusername 是系统上运行 apache httpd 的用户的名称。您的配置文件可能位于,/etc/apache2/apache2.conf但它可能会有所不同,特别是如果您运行的是旧版本(1.x)的 apache httpd。

相关内容