从上一篇文章: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. Unity 重要基础知识点

    这是两个月前的学习记录,发出来了下,如果有误欢迎大家指出: 脚本生命周期 //每当脚本被加载时调用一次 // 1.   在Awake中做一些初始化操作 void Awake(){ //初始化publi ...

  2. python编码最佳实践之总结

    相信用python的同学不少,本人也一直对python情有独钟,毫无疑问python作为一门解释性动态语言没有那些编译型语言高效,但是python简洁.易读以及可扩展性等特性使得它大受青睐. 工作中很 ...

  3. 图像抠图算法学习 - Shared Sampling for Real-Time Alpha Matting

    一.序言   陆陆续续的如果累计起来,我估计至少有二十来位左右的朋友加我QQ,向我咨询有关抠图方面的算法,可惜的是,我对这方面之前一直是没有研究过的.除了利用和Photoshop中的魔棒一样的技术或者 ...

  4. Azure机器学习入门(二)创建Azure机器学习工作区

    我们将开始深入了解如何使用Azure机器学习的基本功能,帮助您开始迈向Azure机器学习的数据科学家之路. Azure ML Studio (Azure Machine Learning Studio ...

  5. 安全测试 - 抓包工具BurpSuite

    Brup SuiteBurpSuite是用于攻击web应用程序的集成平台.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程.所有的工具都共享一个能处理并显示HTTP消息,持久 ...

  6. [LeetCode] Design Snake Game 设计贪吃蛇游戏

    Design a Snake game that is played on a device with screen size = width x height. Play the game onli ...

  7. [LeetCode] Anagrams 错位词

    Given an array of strings, return all groups of strings that are anagrams. Note: All inputs will be ...

  8. Netty学习笔记之一(Netty解析简单的Http Post Json 请求)

    一,HTTP解码器可能会将一个HTTP请求解析成多个消息对象. ch.pipeline().addLast(new HttpServerCodec()); ch.pipeline().addLast( ...

  9. HDU3068 回文串 Manacher算法

    好久没有刷题了,虽然参加过ACM,但是始终没有融会贯通,没有学个彻底.我干啥都是半吊子,一瓶子不满半瓶子晃荡. 就连简单的Manacher算法我也没有刷过,常常为岁月蹉跎而感到后悔. 问题描述 给定一 ...

  10. ES6深入学习记录(一)class方法相关

    今天学习class相关的一些使用方法,着重在于class extends class之间可以通过extends关键字实现继承,这比ES5的通过修改原型链实现继承,要清晰和方便很多. 上面的代码定义了一 ...