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
    
  • 相关阅读:
    iozone
    2019-11-23-WPF-使用-RawInput-接收裸数据
    2019-11-22-Roslyn-在多开发框架让-msbuild-的-Target-仅运行一次
    2019-3-1-C#-json-转-xml-字符串
    2018-11-19-visualStudio-无法登陆
    2019-4-21-Roslyn-通过-NuGet-库修改应用程序入口函数
    2019-8-31-dotnet-core-集成到-Mattermost-聊天工具
    2019-7-29-win10-UWP-使用-MD5算法
    2018-8-10-C#-TimeSpan-时间计算
    2019-6-15-WPF-触摸到事件
  • 原文地址:https://www.cnblogs.com/noah-luo/p/10007565.html
Copyright © 2011-2022 走看看