Linux的权限不是很细致,只有RWX三种
r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。
w(Write,写入):对文件而言,具有新增,修改,删除文件内容的权限;对目录来说,具有新建,删除,修改,移动目录内文件的权限。
x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。
1、目录的只读访问不允许使用cd进入目录,必须要有执行的权限才能进入。
2、只有执行权限只能进入目录,不能看到目录下的内容,要想看到目录下的文件名和目录名,需要可读权限。
3、一个文件能不能被删除,主要看该文件所在的目录对用户是否具有写权限,如果目录对用户没有写权限,则该目录下的所有文件都不能被删除,文件所有者除外
4、目录的w位不设置,即使你拥有目录种某文件的w权限也不能写该文件
理清了rwx的相关权限,下面以thinkphp目录为例,配置标准的web目录权限。
基本环境
网站根目录位置
/home/www/shejiqun
php-fpm和nginx的用户为www,这一点很重要
全局设置
整个网站目录所有者设为用户root
cd /home/www/
chown -R root:root shejiqun
所有文件夹目录权限设置为:非root不可写755
find shejiqun -type d | xargs chmod 755
所有文件权限设置为:root读写,非root只读644
find shejiqun -type f | xargs chmod 644
针对性设置
全局设置完毕后,网站肯定是运行不起来的。需要针对某些目录做权限变更。
针对Runtime,Dynamic目录,需要写人权限
chmod -R 777 shejiqun/Runtime shejiqun/Dynamic