我在虚拟服务器上运行 Ubuntu,并且设置了不少与主题相关的设置。但我不太确定设置是否正确。
我当前的设置如下:
Apache2:
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
export APACHE_PID_FILE=/var/run/apache2.pid
我读过有关添加额外用户(例如sudo adduser apache
运行 Apache 服务器)的文章,那么什么是好的选择?
网站目录:
drwxr-xr-x 5 www-data:www-data 4.0K Feb 5 04:16 mysite/
例如,此目录位于/var/www
。目录中的文件夹设置为chmod 755
,文件为644
。它应该归 www-data 所有还是归我的用户名所有?
如果您能给我一些这方面的最佳实践,我将非常高兴。谢谢您的建议!
答案1
我学到的最重要的事情是不要授予 Apache 对任何您不需要写入的内容的写入权限,例如缓存、用户或您可以上传内容的下载目录。
sudo chown user:user
因此,对网站目录之类的内容拥有所有权,并授予o
其他部分所需的权限……。
替换user:user
为您所需的用户和组。
在目录中,您可以使用如下命令:
sudo chmod o+rx /var/www/'directory' #make directory read and executable for other
sudo chmod o-wx /var/www/'directory'/'files' #remove write and execute from files
sudo chmod o+r /var/www/'directory'/'files' #add read to files
您还可以使用find
稍微高级一些但可以使工作更简单的命令,例如(在拥有文件之后):
chown user:user /var/www/ -R # this is only an example..
- 目录
find /var/www/ -type d -exec sudo chmod o+rx {} \;
- 文件
find /var/www/ -type f -exec sudo chmod o-wx {} \;
find /var/www/ -type f -exec sudo chmod o+r {} \;
我尽量描述得更详细。如果需要,我可以解释更多。这谈到了权限的一半:
http://www.linuxforums.org/forum/servers/5270-apache-conf-html-permissions.html