网上很难找到一篇适用于网站目录的SFTP配置说明,折腾了许久,我来写一篇完整点的。 如果觉得中文难以理解的话, 请看一篇简洁的英文配置方法http://www.linuxtechi.com/configure-chroot-sftp-in-linux/。

   首先,据说如果开了selinux配置好后可能会无法连接(我没测试)。

  假设网站目录: /var/wwwroot/xxx.com/public_html(为什么要有子目录,是有原因的,见后面) ;

  目录下文件归属为 www:www (php-fpm用户及组), 我为什么要使用www组? 就是为了保证用户和php共享组权限。因为我们在给web目录配置权限的时候, 往往给文件夹 775、 755 或 750, 其他组往往拥有的权限不足, 新建或修改重传的文件拥有过低权限,导致php不能以组权限读取。

  // 添加一个SFTP组# groupadd www  // 禁止shell,home目录/var/wwwroot/xxx.com,  组 www .// 如果user不存在:# useradd -s /bin/nologin -d /var/wwwroot/xxx.com  -g www sftp_david // 如果user存在,则修改此user:# usermod -s /bin/nologin -d /var/wwwroot/xxx.com -g www sftp_david  // 为此user设置密码# passwd sftp_david  

   到此没有其他错误的话,SFTP已经可以登录,但是此时user能浏览的太多了,几乎整个系统的文件! 得限制它的访问目录。

    # vim /etc/ssh/sshd_config

    // 找到 Subsystem sftp 这一行注释掉,添加以下行:

      Subsystem       sftp  internal-sftp

    // 在文件末尾添加以下内容, 限制该组只能访问home目录:

    Match Group www        //  也可以 Match User sftp_david

    ChrootDirectory %h

    ForceCommand internal-sftp

    AllowTcpForwarding no

  // 保存然后重启。 网络不好不要急着重启,以免重启失败导致当前ssh连接不上

  # service sshd restart

  

  权限更改:

  SFTP有一个独特的地方, 用户的home目录以上文件夹的user必为root且你有写入权限。

  本例中 home 目录是  /var/wwwroot/xxx.com,  它每一级文件夹,user必须是root,并且SFTP账号都不能用有写入权限(通过group也不允许), 否则连接被拒。

  # cd  /var/wwwroot/xxx.com# chown root:root  .        // xxx.com 是home目录,将它设为root # chown sftp_david:www   public_html   # chmod 775  public_html  

  上面就是public_html 这个子文件夹存在的意义—— 账号不能拥有xxx.com的文件夹写入,也就不能在它下面上传文件。所以我要建public_html这个子文件夹,它下面可以任意上传。

  同时将用户 sftp_david 加入 www 组,以拥有www组的权限

  # usermod -s /sbin/nologin -d /var/wwwroot/xxx.com/public_html -G www sftp_david

  完成!

  另外,如果public_html下的组权限为文件夹<7, 文件<6:执行(因为我这里依赖组权限操作文件):

  # cd xxx.com

  # find . -type d -exec chmod g=rwx {} \;
  # find . -type f -exec chmod g=rw {} \;

  切记不要给文件赋予x权限。

user操作常用参数说明(其他见 -h):

  -a   添加的方式.   将一个用户加入多个组可使用此参数

  -d   指定home目录,也就是登录时进入的目录

  -M

  -s   通常设置: /bin/false 禁止使用任何登录(包括shell),   /sbin/nologin 禁止登陆但可以使用SFTP

  -G   并将user加入这个group(同时创建group)

  -g   将此user加入这个组(不创建组)

  ( vsftp配置链接 )

转载于:https://www.cnblogs.com/antarctican/p/3986523.html

给linux下网站目录配置SFTP相关推荐

  1. Linux下的目录配置

    Linux是开源的操作系统,如果每个人依据自己的想法来配置文件目录,可能会造成很多管理上的困扰,所以Linux的目录配置需要一定的标准 Linux目录配置的依据--FHS FHS(Filesystem ...

  2. Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)

    博客园 首页 新随笔 联系 管理 订阅 <div class="blogStats"><!--done--> 随笔- 556  文章- 38  评论- 77 ...

  3. Linux下安装、配置PHP环境

    Linux下安装.启动MySQL :http://blog.csdn.net/wy3552128/article/details/8143686 Linux下安装.配置.启动Apache:http:/ ...

  4. linux下sqlserver端口号,linux下连接sqlserver配置及otl编程.docx

    linux下连接sqlserver配置及otl编程 需要的包unixODBC源码包unixODBC-2.2.14.tar.gz下载地址linux下的ODBC 驱动freetds-0.64.tar.gz ...

  5. LINUX下磁盘限额配置(转)

    LINUX下磁盘限额配置(转) 由于忙了几天,今天忙里面偷闲一下搞了一下quota,现在记下来给大家参考下,或许大家有那么一天用得上:),以下测试在RH LINUX8.0成功. 1.先修改 /etc/ ...

  6. Linux下mongodb安装配置教程

    Linux下mongodb安装配置教程 这里写目录标题 Linux下mongodb安装配置教程 1. 在linux(ubuntu)下安装mongodb 2. 遇到的坑 1. 在linux(ubuntu ...

  7. linux下网站平台的搭建——apache +PHP+mysql

    linux下网站平台的搭建--apache +PHP+mysql 实验环境 VMware 6.5.2+redhat Enterprise 5 AS 我的内核版本 本文实验基础环境已经做好了一个dns的 ...

  8. Linux下的网络配置[ dhcp]

    文章目录 一.Linux下的网络配置 1.以太网 2. 网络地址 IP ADDRESS 3. 子网掩码 4. ip通信判定 5.网络设定工具 5.1 ping 5.2 ifconfig(可临时设定ip ...

  9. linux php 安装图文教程下载,linux下php安装配置教程

    linux下php安装配置教程 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 linux 下安装下安装 apache 与与 php ...

最新文章

  1. MATLAB【十四】————遍历三层文件夹操作
  2. exchange 2003配置ASSP 反垃圾邮件
  3. three.js贴图
  4. mysql 变量作用域_二十二、MySQL基础系列笔记之变量
  5. 属性与意图识别_解密宝能汽车智能驾舱的“未来属性”
  6. 享元设计模式coding
  7. mysql两列取小_mysql – 我想获取两列特定列之间的列值
  8. 海底捞的服务“歧视”
  9. OpenCV4每日一练day4:Mat类的创建、赋值、读取
  10. 浅谈如何管理测试团队
  11. Python开发技术详解PDF
  12. 使用嵌套类/临时类保存数据
  13. App 抓包-Fiddler简单使用教程
  14. 融云会话界面自定义功能_融云SDKv2.6.6官方最新版
  15. python解析can报文_解析.DBC文件, 读懂CAN通信矩阵,实现车内信号仿真
  16. 计算机中的windows任务管理器在哪,window任务管理器在哪,windows7如何重装
  17. Android studio 百度地图SDK之地图定位与运动轨迹绘制
  18. 【学习路线】2022届校招C++后端服务器开发/实习,个人学习路线总结/记录
  19. Arduino与LU-ASR01语音识别模块的双向串口通信实现
  20. 海思SD3403开发板学习(三)

热门文章

  1. java前沿技术_Java语言就业前景如何?这4个就业方向都很吃香
  2. python清除缓存的命令_python – 重启django服务器时清除缓存的最佳位置
  3. wifi共享大师电脑版_Wifi分析助手PC版-Wifi分析助手电脑版下载 v7.2.2-
  4. php txt,PHP规范TXT文件
  5. java发邮件_使用MATLAB自动发邮件
  6. 使用tab键分割的文章能快速转换成表格。( )_Word 多级列表编号方法总结(一)——快速入门
  7. java 读utf-8 xml_〖JAVA经验〗JDom输出UTF-8的XML完美解决方法
  8. 7 兼容 因特尔十代_年终抄底十代酷睿 请务必看看它……- ——快科技(驱动之家旗下媒体)-...
  9. rust房子 如何拆除_“一户多宅”将陆续清查!违规如何处理?
  10. 天翼云从业认证课后习题(3.3天翼云网络产品)