好的…我有我的服务器设置,我有4个网站驻留在/ var / www /。 每个网站目录和它下面的文件都是根:www-pub根据这个职位:
在/ var / www中处理Apache 2用户www-data权限的最佳方式是什么?
我的用户cdog是www-pub的一部分,正如上面的post所指示的,经过更多的研究,我相信umask是正确设置的。
问题1:在任何/ var / www /目录内创build新文件给我权限
cdog:www-pub -rw-r--r--
所有其他文件都是
root:www-pub -rw-rw-r--
我被引导相信(根据上面的post),任何新创build的文件将是后者。
问题2这些目录中的大部分,具有权限
drwxrwsr-x
是Joomla目录。 login到Joomla后端给我一大堆不可写的目录,这不利于更新/安装扩展/插件等。
首先,为什么我的文件不是用正确的权限创build的? 其次,为什么Joomla目录不可写?
用户的umask决定了新文件接收的权限。 创build文件或目录时,系统以最宽容的权限(分别为0666和0777)开始,然后清除 umask中指定的位。 022的默认umask因此导致组和世界写入位被清除,这就是为什么你最终得到0644。
要创build具有组写入权限的文件,您需要将umask更改为002(即只清除世界写入权限)。 这可以在与umask 002的特定shell会话中完成,但是这不会在会话中持续存在。
有很多方法可以永久性地设置umask。 如果安装并configuration了pam_umask PAM模块,可以在/etc/login.defs进行设置:
UMASK 002
否则,你可以在你的shell初始化脚本中设置它,如果你只希望把它应用到你的用户上,可以设置为~/.bashrc如果你希望它应用到所有的用户,可以设置/etc/bash.bashrc :
umask 002
在处理文件之前,你需要设置你的umask。
umask 002
看起来你正在使用www-pub,那么这个组的www-data呢?