【荐】如何规划 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、参考代码如下:
####################################################
### 新建 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)的更多相关文章
- Linux下Apache网站目录读写权限的设置
网站目录文件权限的设置对网站的安全至关重要,下面简单介绍网站目录文件权限的基本设定. 我们假设http服务器运行的用户和用户组是www,网站用户为centos,网站根目录是/home/centos/w ...
- 上传网站后建议执行:chown www:www -R /path/to/dir 对网站目录进行权限设置,/path/to/dir替换为你网站目录。
上传网站后建议执行:chown www:www -R /path/to/dir 对网站目录进行权限设置,/path/to/dir替换为你网站目录.
- 企业场景-网站目录安全权限深度讲解及umask知识
站点目录的文件和目录给什么权限: 默认权限是安全权限的临界点,工作中尽量给这个临界点,或者小于临界点,不要大于临界点权限. 默认权限分配的命令 umask 在linux下文件的默认权限是由umask值 ...
- nginx 网站目录重写
rewrite ^/en/ /en.php last;rewrite ^/en /en.php last;
- Linux低权限用户记录ssh密码
0x01 场景 现在有个攻击场景,就是你拿到了linux外网服务器的webshell,要做内网渗透前肯定要收集信息.其中可以做的一个工作是重新编译ssh来记录管理员的密码信息,信息可以用来撞其他机器的 ...
- linux网站目录及Apache权限的设置
apache服务器访问权限设置禁止所有访问:Options Indexes FollowSymLinks 改为 Option None Apache单个或多个目录禁止访问方法 这种方法通常用来 ...
- apache配置网站目录的读写权限
分享下apache中配置网站目录文件权限的方法. 假设http服务器运行用户和用户组是www,网站用户为centos,网站根目录是/home/centos/web. 操作方法与步骤:1,首先,设定网站 ...
- centos 网站目录权限参考
Linux下Apache网站目录读写权限的设置 网站目录文件权限的设置对网站的安全至关重要,下面简单介绍网站目录文件权限的基本设定. 我们假设http服务器运行的用户和用户组是www,网站用户为cen ...
- Linux系统Web网站目录和文件安全权限设置
查看Linux文件的权限:ls -l 文件名称查看linux文件夹的权限:ls -ld 文件夹名称(所在目录)例如: drwxr-xr-x 2 root root 4096 2009-01-14 17 ...
随机推荐
- Bootsrap基本应用
Bootsrap 用法: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- UNITY实现FLASH中的setTimeout
setTimeout是一个很方便的DELAY处理方法 if (this.startUpDelay > 0){ StartCoroutine(DelayedStart()); ...
- [LeetCode] Total Hamming Distance 全部汉明距离
The Hamming distance between two integers is the number of positions at which the corresponding bits ...
- [LeetCode] Group Shifted Strings 群组偏移字符串
Given a string, we can "shift" each of its letter to its successive letter, for example: & ...
- ConcurrentHashMap内存泄漏问题
问题背景 上周,同事写了一段ConcurrentHashMap的测试代码,说往map里放了32个元素就内存溢出了,我大致看了一下他的代码及运行的jvm参数,觉得很奇怪,于是就自己捣鼓了一下.首先上一段 ...
- 20145222《信息安全系统设计基础》Linux常用命令汇总
学习Linux时常用命令汇总 通过Ctrl+f键可在该网页搜索到你想要的命令. Linux中命令格式为:command [options] [arguments] //中括号代表是可选的,即有些命令不 ...
- JAVA的正则表达式-学习
1.正则表达式作用 正则表达式,是用来匹配字符串的,即检查一定的格式,还能按格式进行分组,替换......其实,不用正则表达式,也可以编.但是,大多数情况下,正则表达式可以提高你编程的效率. 2.学习 ...
- Codeforces #364 DIV2
~A题 A. Cards time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- PHP的CURL
使用CURL完成一个请求: 初始化连接句柄 设置CURL选项 执行并获取结果 释放CURL连接句柄 发送GET请求 function doGetRequest($url,$data,$timeout ...
- 全局变量都是window对象的属性
var x = "haha"; var test = function(){ alert(this.x); } 上述,则会弹出 haha的值. 因为在JavaScript的变量作 ...