• 基于CentOS 7的SFTP配置


    基于CentOS 7的SFTP配置

    简介

    SFTP通过SSH在计算机之前建立安全的链接用作文件传输;通过SFTP可以很方便的将文件传输到你的服务器。

    本文将在CentOS 7上通过OPENSSH配置SFTP服务。

    创建用户组

    Linux中的所有的用户都属于一个(或多个)组,出于安全考虑,为了使批量管理SFTP账户更加容易,需要创建一个SFTP用户的组:

    groupadd sftp
    

    可以根据需要随意调整成符合你要求的组名

    创建用户

    通过以下命令创建用于sftp登录时的用户,并将/sftp目录设置为该用户的家目录

    useradd -g sftp -d /sftp -s /sbin/nologin username
    

    说明:

    • useradd:添加一个用户
      • -g sftp:将新用户添加到sftp组(即上一步的sftp组)
      • -d /sftp:将/sftp设置为该用户的家目录
      • -s /sbin/nologin:用户获得shell程序的访问权限/sbin/nologin,换句话说:不能通过ssh的登录权限
    • passwd用户名:设置新用户的密码

    创建传输的目录

    为新用户创建一个文件夹,通过该用户可以将文件上传到该文件夹

    mkdir -p /sftp/username/files
    

    说明:

    • 此处的username就是上一步中创建的用户名
    • -p:可以直接创建多级目录
    • 也可以将此处的/sftp/username/files更改到其他位置,例如:
      • 如果你在/var/www/example.com/public_html中托管网站,则可以在此处使用/var/www/example.com/public_html
      • 假如想在主目录中添加一个SFTP文件夹,可以将/sftp改成/home/username/sftp,该用户username必须存在

    调整文件夹的权限

    为了确保sftp的用户最终只有在/sftp/username/files的操作权限,但是在上层的目录没有操作权限,还需要以下操作:

    chmod 500 /sftp 
    chmod 700 /sftp/username/files
    chown root:sftp /sftp/username
    chown username:sftp /sftp/username/files
    

    说明:

    • chmod 500 /sftp:仅授予/sftp所有者对/sftp文件夹的读取和执行权限。
    • chmod 700 /sftp:仅授予/sftp/username/files所有者对/sftp/username/files文件夹的读取,写入和执行权限
    • chown root:sftp /sftp/username:使用户rootsftp组成为/sftp/username文件夹的所有者
    • chown username:sftp /sftp/username/files:使用户用户名和/sftp/username/filesftpusers组(用户名所属的组)的所有者

    配置sshd_config

    vim /etc/ssh/sshd_config
    

    在末尾添加下面内容:

    AllowGroups sftp sshd
    Match Group sftp
    ChrootDirectory /sftp/%u
    ForceCommand internal-sftp
    

    sftp组的所有用户都会被定位到/sftp/%u,此处的%u就是登录的用户名

    重启sshd服务

    systemctl reload sshd
    
  • 相关阅读:
    基于Java+Selenium的WebUI自动化测试框架(四)-----设置监听类
    基于Java+Selenium的WebUI自动化测试框架(三)------记录LOG
    基于Java+Selenium的WebUI自动化测试框架(二)-----页面操作接口
    基于Java+Selenium的WebUI自动化测试框架(一)---页面元素定位器
    疯狂java笔记(七)
    使用python实现栈和队列
    Android定位方式和测试方法
    Robotium原理初探
    Android内存进程管理机制
    疯狂java笔记(五)
  • 原文地址:https://www.cnblogs.com/chengjiawei/p/13225985.html
Copyright © 2020-2023  润新知