Nginx要访问网站html目录,FTP也要访问网站html目录,Nginx访问就需要将目录所属用户设为www,FTP访问就要将目录所属用户设为ftp,设为www的时候ftp没办法上传文件,赋予了写入权限就可以上传文件了,但是删除文件和文夹有点问题,可以删除html目录下子目录中的文件,却删除不了html目录下的子目录。
通过度娘查到的资料显示,可以将html目录设为ftp,然后更改Nginx的配置文件,将用户www也改为ftp就没有问题了。
但个人觉得这个只治标不治本。然后又通过度娘查了一下,关于赋权还是需要有些规划,这个问题需要深入思考一下。
把大佬写的文章记录下来,参考参考。
1、公司的一台 CentOS 服务器上运行了好几个网站,每个网站又是由不同的团队在维护,如果确保 ftp 更新文件的时候,不更新错,不乱窜。如何避免 本来给A网站更新文件,结果上传到B网站了等等乱象;
2、只用 CentOS 自带的 sftp,不打算安装 vsftpd 等第三方 ftp 软件;
3、网站目录参考如下:
/usr/local/nginx/www/test.cnblogs.com
/usr/local/nginx/www/www.cnblogs.com
1、网站用户(nginx,php-fpm,ftp的用户)都归属到 www 用户组;
2、nginx,php-fpm 都用用户 www;
3、为每个网站新建一个独立 ftp 用户;
4、每个网站,ftp 用户有 读、写、执行 的权限,php-fpm 用户只有 读、执行 的权限(个别缓存 文件/文件夹 开通写的权限);
5、参考代码如下:
#################################################### ### 新建 Nginx、PHP-FPM 用户及用户组 www:www,不可登录 #################################################### # 新建用户组 www(所有的网站相关的用户,统一放到 www 用户组) groupadd www # 新建用户 useradd www -g www -s /usr/sbin/nologin ################################################## ### 修改网站 www.cnblogs.com 目录权限 ################################################## # 新建账号 useradd ftp_cnblogs_www -g www passwd ftp_cnblogs_www # 密码为: ftp_cnblogs_www_1483065485 # 修改权限 chown -R ftp_cnblogs_www:www /usr/local/nginx/www/www.cnblogs.com umask 0000 chmod -R 750 /usr/local/nginx/www/www.cnblogs.com chmod -R 760 /usr/local/nginx/www/www.cnblogs.com/data chmod -R 770 /usr/local/nginx/www/www.cnblogs.com/data/cache/view chmod -R 760 /usr/local/nginx/www/www.cnblogs.com/write2.txt ################################################## ### 修改网站 test.cnblogs.com 目录权限 ################################################## # 新建账号 useradd ftp_cnblogs_test -g www passwd ftp_cnblogs_test # 密码为: ftp_cnblogs_test_1483065514 # 修改权限 chown -R ftp_cnblogs_test:www /usr/local/nginx/www/test.cnblogs.com umask 0000 chmod -R 750 /usr/local/nginx/www/test.cnblogs.com chmod -R 760 /usr/local/nginx/www/test.cnblogs.com/data chmod -R 770 /usr/local/nginx/www/test.cnblogs.com/data/cache/view chmod -R 760 /usr/local/nginx/www/test.cnblogs.com/write2.txt
注意:sftp 本身还有其他方面的安全配置,如让用户只能访问自己的家园目录,感兴趣的同学可以去研究下!
在部署Wellcms的时候,先是检测环境和权限,有几个文件夹没有写入权限,将这几个文件夹设为755的权限之后正常了,在安装的最后一步各种报错,应该还是权限的问题,又将这些报错的文件夹设为777权限,反反复复的弄了几次,也不知道怎么就安装成功了。
后期使用还不知道有没有什么问题。
如果有问题估计又需要把服务器的系统重装,然后把自建环境从头到尾再操作一遍,目录和权限问题也要重新规划一下才好。