从上一篇文章: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、参考代码如下:

####################################################
### 新建 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 本身还有其他方面的安全配置,如 让用户只能访问自己的 家园目录,,,感兴趣的同学可以去研究下!

【荐】如何规划 Nginx 网站目录的权限(用户,用户组,ssh,sftp)的更多相关文章

  1. Linux下Apache网站目录读写权限的设置

    网站目录文件权限的设置对网站的安全至关重要,下面简单介绍网站目录文件权限的基本设定. 我们假设http服务器运行的用户和用户组是www,网站用户为centos,网站根目录是/home/centos/w ...

  2. 上传网站后建议执行:chown www:www -R /path/to/dir 对网站目录进行权限设置,/path/to/dir替换为你网站目录。

    上传网站后建议执行:chown www:www -R /path/to/dir 对网站目录进行权限设置,/path/to/dir替换为你网站目录.

  3. 企业场景-网站目录安全权限深度讲解及umask知识

    站点目录的文件和目录给什么权限: 默认权限是安全权限的临界点,工作中尽量给这个临界点,或者小于临界点,不要大于临界点权限. 默认权限分配的命令 umask 在linux下文件的默认权限是由umask值 ...

  4. nginx 网站目录重写

    rewrite ^/en/ /en.php last;rewrite ^/en /en.php last;

  5. Linux低权限用户记录ssh密码

    0x01 场景 现在有个攻击场景,就是你拿到了linux外网服务器的webshell,要做内网渗透前肯定要收集信息.其中可以做的一个工作是重新编译ssh来记录管理员的密码信息,信息可以用来撞其他机器的 ...

  6. linux网站目录及Apache权限的设置

    apache服务器访问权限设置禁止所有访问:Options Indexes FollowSymLinks 改为 Option None   Apache单个或多个目录禁止访问方法   这种方法通常用来 ...

  7. apache配置网站目录的读写权限

    分享下apache中配置网站目录文件权限的方法. 假设http服务器运行用户和用户组是www,网站用户为centos,网站根目录是/home/centos/web. 操作方法与步骤:1,首先,设定网站 ...

  8. centos 网站目录权限参考

    Linux下Apache网站目录读写权限的设置 网站目录文件权限的设置对网站的安全至关重要,下面简单介绍网站目录文件权限的基本设定. 我们假设http服务器运行的用户和用户组是www,网站用户为cen ...

  9. Linux系统Web网站目录和文件安全权限设置

    查看Linux文件的权限:ls -l 文件名称查看linux文件夹的权限:ls -ld 文件夹名称(所在目录)例如: drwxr-xr-x 2 root root 4096 2009-01-14 17 ...

随机推荐

  1. ACM 中 矩阵数据的预处理 && 求子矩阵元素和问题

            我们考虑一个$N\times M$的矩阵数据,若要对矩阵中的部分数据进行读取,比如求某个$a\times b$的子矩阵的元素和,通常我们可以想到$O(ab)$的遍历那个子矩阵,对它的各 ...

  2. BZOJ 3172: [Tjoi2013]单词 [AC自动机 Fail树]

    3172: [Tjoi2013]单词 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 3198  Solved: 1532[Submit][Status ...

  3. 学习Python函数笔记之二

    ---恢复内容开始--- 1.内置函数:取绝对值函数abs() 2.内置函数:取最大值max(),取最小值min() 3.内置函数:len()是获取序列的长度 4.内置函数:divmod(x,y),返 ...

  4. Spring 事务详解

    实现购买股票案例: 一.引入JAR文件: 二.开始搭建分层架构---创建账户(Account)和股票(Stock)实体类 Account: ? 1 2 3 4 5 6 7 8 9 10 11 12 1 ...

  5. 基于pcDuino-V2的无线视频智能小车 - UBUNTU系统上的gtk编程

    详细的代码已经上传到git网站:https://github.com/qq2216691777/pcduino_smartcar

  6. ssh无密码登录The authenticity of host 'localhost (::1)' can't be established.

    The authenticity of host 'localhost (::1)' can't be established. http://blog.csdn.net/cyuyan112233/a ...

  7. [LeetCode] Minimum Height Trees 最小高度树

    For a undirected graph with tree characteristics, we can choose any node as the root. The result gra ...

  8. [LeetCode] Add Binary 二进制数相加

    Given two binary strings, return their sum (also a binary string). For example,a = "11"b = ...

  9. Hibernate 缓存机制浅析

    1. 为什么要用 Hibernate 缓存? Hibernate是一个持久层框架,经常访问物理数据库. 为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能. 缓存内的数据是对物理数据源 ...

  10. JavaScript-简单的贪吃蛇小游戏

    实现逻辑: //获取Html中的格子(行,列) //建立数组存储所有格子(x,y) //建立数组用于存储蛇身(x,y) //生成随机坐标(x,y)的函数 //随机创建蛇身并存储到蛇身数组 //创建食物 ...