zoukankan      html  css  js  c++  java
  • 开启sftp服务日志并限制sftp访问目录

    目录导航

    开启sftp日志


    修改sshd_config

    vim /etc/ssh/sshd_config
    

    注释掉Subsystem行,然后写入新Subsystem,信息如下

    Subsystem       sftp    internal-sftp -l INFO -f local5
    LogLevel INFO
    

    效果如下:
    enter description here

    修改syslogs

    vim /etc/rsyslog.conf
    

    在最后增加如下配置

    auth,authpriv.*,local5.* /var/log/sftp.log
    

    重启服务查看日志

    /etc/init.d/rsyslog restart
    /etc/init.d/sshd restart
    tailf /var/log/sftp.log
    

    限制sftp用户操作目录


    前提说明

    如果要让sftp用户只能使用规定的目录,则需要再配置文件中开启ChrootDirectory,并限定目录作为sftp用户登录的根目录.
    但这里规定的根目录,属主必须是root,文件夹权限只能是755,因此sftp用户对此根目录只有读取权限,需要再在根目录下创建一个属主为改sftp用户的文件夹,用于该用户上传数据
    由此规则,可以产生两种sftp方案

    1. home目录做根目录

    创建用户时,不指定-M参数,默认会在home目录下生产该用户的家目录,用户对该目录具有完全操作权限,且不能访问其他用户的家目录,因此适合作为sftp目录

    • ChrootDirectory写法
      • ChrootDirectory /home/

    2. 单独创建目录做根目录

    单独创建一个目录做根目录,然后再创建下级的操作目录,此方法需要按要求配置主目录及下级目录的权限和属主等信息

    • 用户
      • 创建用户 加-M参数
    • 主目录
      • 创建主目录 /data/sftp
      • 授权 755
      • 属主 root.root
    • 下级目录
      • 创建下级目录 /data/sftp/test_sftp
      • 授权 755
      • 属主 test_sftp.test_sftp
    • ChrootDirectory写法
      • ChrootDirectory /data/sftp/

    方法1实操

    • 创建用户
    useradd  test_sftp && echo "123456"|passwd --stdin test_sftp
    
    • 修改sshd_conf
    vim /etc/ssh/sshd_config
    # 在最后增加以下关键字
    Match User test_sftp 
            ChrootDirectory /home
            X11Forwarding no
            AllowTcpForwarding no
            ForceCommand internal-sftp
    

    重要说明:配置在Match User字段中的用户,会被禁止使用ssh方式登录系统

    • 重启sshd服务
    /etc/init.d/sshd restart
    

    方法2实操

    • 创建用户
    useradd  test_sftp && echo "123456"|passwd --stdin test_sftp
    
    • 创建主目录并授权
    mkdir -p /data/sftp/
    #chown -R root.root /data/sftp/
    #chmod 755 /data/sftp/
    

    说明:注释掉的命令默认不用执行,写出来是为了避免乱做其他授权

    • 创建操作目录并操作
    mkdir -p /data/sftp/test_sftp
    chown -R test_sftp.test_sftp /data/sftp/test_sftp
    #chmod 755 /data/sftp/test_sftp
    

    说明:注释掉的命令默认不用执行,写出来是为了避免乱做其他授权

    • 修改sshd_conf
    vim /etc/ssh/sshd_config
    # 在最后增加以下关键字
    Match User test_sftp 
            ChrootDirectory /data/sftp
            X11Forwarding no
            AllowTcpForwarding no
            ForceCommand internal-sftp
    
    • 重启sshd服务
    /etc/init.d/sshd restart
    
  • 相关阅读:
    Javascript动画模拟
    C#导出Excel
    Google Maps API
    动态管理视图和函数
    HttpWebRequest和HttpWebResponse实例
    从零开始学Java 第19章 网络编程
    从零开始学Java 第15章 Java输入输出流
    从零开始学Java 第21章 集合框架
    从零开始学Java 第13章 多线程
    从零开始学Java 第14章 Applet程序
  • 原文地址:https://www.cnblogs.com/noah-luo/p/10007565.html
Copyright © 2011-2022 走看看