我用过
[root ~]$ echo "umask 002" >> /etc/sysconfig/httpd [root ~]$ service httpd restart
重新启动Apache多次,但每当我从脚本安装的东西目录仍然不可写组。
我该怎么办
我已经检查了文件的umask 002是在文件的末尾
这是在CentOS中为Apache指定umask的标准方法之一。 如果你的初始化脚本(/etc/rc.d/init.d/httpd)来源于/ etc / sysconfig / httpd文件,那么umask没有被指定,或者有什么重写。
如何创build文件?
是nobody用户的Apache运行? 这是相当普遍的, apache , www-data和nobody都相当普遍。 试试ps ax | grep apache ps ax | grep apache并查看第一行显示的内容,然后仔细检查您的configuration。
如果nobody用户正在运行apache,那么你将要做sudo chown nobody.nobody /var/www/whatever/directory/来更改apache需要rwx权限的目录的所有权给nobody group nobody
那么Apache将能够在该目录中创build文件,并且后续的脚本将能够下载/安装他们的插件等等。
那么,正如我之前所说的,您将从Web界面pipe理插件和脚本等,而不是从shell。
在你的apache httpdconfiguration文件中,有一行表示User username ,其中username是用户apache httpd在系统上运行的任何用户的名称。 你的configuration文件可能位于/etc/apache2/apache2.conf但可能不同,特别是如果你正在运行一个较旧的(1.x)版本的Apache的httpd。