设定:
网站设置为/home/
网站用户仅限于/home/websiteuser/
的主目录
由root拥有
网站用户属于websites
群组
www-data
是websites
群组
虚拟主机指向:/home/websiteuser/html/
/home/websiteuser/html/
设置为-R 755
/html/
内的文件归websiteuser:websites
网站用户通过sftp
除非apache要求我们递归chmod 777
/home/websiteuser/html/files/
目录,否则一切都会很好用,或者图像不会显示,CMS也无法编写它的mysql备份。
网站用户拥有这些文件,因此sftp访问有效,但是我必须让www-data
拥有这些文件 - 或者有没有办法让sftp登录工作,而apache仍然可以访问?
我们已经看到很多关于这方面的问题,但不明白答案对不起 - 任何帮助都会非常感激。
干杯
答案 0 :(得分:0)
我们通过建立一个"网站来解决这个问题。分组并将apache用户(www-data)添加到此组(必须以root身份完成 - 使用$ su root
切换到root或在sudo
之类的命令前使用$ sudo useradd username
}:
$ addgroup websites
$ getent websites
$ usermod -G websites www-data
$ grep '^ websites' /etc/group
$ useradd username
$ passwd username
$ usermod -G websites username
$ mkdir /home/username
$ chown root:websites /home/username
$ chmod 750 /home/username
$ cd /home/username
$ mkdir html
$ chown username:websites html
$ chmod 750 html
html
目录 $ chown -R username:ssb-websites html
$ chmod -R 770 html
$ chmod 644 $(find . ! -type d)
/home/username/
必须由root拥有或sFTP访问权限无法正常工作): /home/username | drwxr-x--- | root:websites
/home/username/html | drwxr-x--- | username:websites
/home/username/html/directories/ | drwxrwx--- | username:websites
/home/username/html/files.html | -rw-r--r-- | username:websites
我们是设计师,所以这就是我们解决问题的方式,如果有人能看到改进,请随时编辑!