首页 > 代码库 > 【荐】如何规划 Nginx 网站目录的权限(用户,用户组,ssh,sftp)

【荐】如何规划 Nginx 网站目录的权限(用户,用户组,ssh,sftp)

从上一篇文章:PHP网站(nginx、php-fpm、mysql) 用户权限解析,可以学习了解到,nginx 和 php-fpm 的用户是如何运作的。

有个工作场景:

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、参考代码如下:

##################################################### 修改网站 www.cnblogs.com 目录权限################################################### 新建账号useradd ftp_cnblogs_www -g wwwpasswd ftp_cnblogs_www          # 密码为: ftp_cnblogs_www_123# 修改权限chown -R ftp_cnblogs_www:www /usr/local/nginx/www/www.cnblogs.comchmod -R 750 /usr/local/nginx/www/www.cnblogs.comchmod -R 760 /usr/local/nginx/www/www.cnblogs.com/datachmod -R 760 /usr/local/nginx/www/www.cnblogs.com/write2.txt##################################################### 修改网站 test.cnblogs.com 目录权限################################################### 新建账号useradd ftp_cnblogs_test -g wwwpasswd ftp_cnblogs_test         # 密码为: ftp_cnblogs_test_123# 修改权限chown -R ftp_cnblogs_test:www /usr/local/nginx/www/test.cnblogs.comchmod -R 750 /usr/local/nginx/www/test.cnblogs.comchmod -R 760 /usr/local/nginx/www/test.cnblogs.com/datachmod -R 760 /usr/local/nginx/www/test.cnblogs.com/write2.txt

 

注意:sftp 本身还有其他方面的安全配置,如 让用户只能访问自己的 家园目录,,,感兴趣的同学可以去研究下!

【荐】如何规划 Nginx 网站目录的权限(用户,用户组,ssh,sftp)