从上一篇文章: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. [No000098]SVN学习笔记5-分支,合并,属性,补丁,锁,分支图

    行结束符和空白选项 在项目的生命周期中,有时可能会将行结束符由 CRLF 改为 LF,或者修改一段代码的缩进.不幸的是这样将会使大量的代码行被标记为已修改,尽管代码本身并没有被修改.这里列出的选项将会 ...

  2. iOS多线程主题

    下面是:2个并发进程.和2个并发线程的示意图: 下面介绍三种多线程技术(Thread.Cocoa Operation.Grand Central Dispatch): 1.最轻量级Thread(需要自 ...

  3. 跨应用使用Spoon框架截图的方法

    spoon框架是一个很棒的用例驱动跟测试结果生成加工的框架.但在使用spoon-client时,传入参数需要被测应用的activity实例,跨应用测试会很受限(当然也可能是因为我对android不熟导 ...

  4. git 修改最后一次提交的用户名 或者 commit的内容

    修改git最后一次提交的命令 $ git commit --amend 修改git最后一次提交用户名的相关命令 git config user.name 'wangz' git config user ...

  5. [LeetCode] Candy 分糖果问题

    There are N children standing in a line. Each child is assigned a rating value. You are giving candi ...

  6. Javascript的this用法及jQuery中$this和$(this)的区别

    this是Javascript语言的一个关键字. 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用.比如, function test(){ this.x = 1; } 1.this就是全 ...

  7. CoreOS和Docker入门

    转载自: http://www.oschina.net/translate/coreos_and_docker_first_steps?cmp CoreOS是一个基于Linux,systemd和Doc ...

  8. localStorage使用总结

    一.什么是localStorage.sessionStorage 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题 ...

  9. 【转】封装原生JS实现Ajax

    function createXHR() { if (window.XMLHttpRequest) { //IE7+.Firefox.Opera.Chrome 和Safari return new X ...

  10. import renumber.py in pymol

    cp renumber.py /usr/local/lib/python2.7/dist-packages/pymol import renumber or run /path/to/renumber ...