• SFTP Configuration


    SFTP配置

    SECURE FILE TRANSFER PROTOCOL

    一、新增用户

    groupadd sftp
    #shell可以指定/bin/false,如指定/sbin/nologin则必须使用internal-sftp
    useradd -g sftp -s /sbin/nologin sftpuser1
    passwd sftpuser1 
    

    二、指定目录

    #用户家目录也可在创建用户的时候指定
    #Change Root目录可以不是用户家目录
    #为了能够chroot成功,该目录必须属主是root,属组是sftp用户所属的用户组,并且其他用户或组不能写
    mkdir -p /nfs/sftp/
    chown root:sftp /nfs/sftp
    
    #创建sftp用户使用目录
    mkdir -p /nfs/sftp/sftpuser1
    chown root:sftp /nfs/sftp/sftpuser1
    

    三、配置文件

    cat > /etc/ssh/sshd_config <<EOF
    #使用internal-sftp
    Subsystem       sftp    internal-sftp
    
    # 可用参数包括用户、组、主机和地址,多个同类参数之间用逗号分割
    Match Group sftpusers
    
    # 指定Chroot目录
    ChrootDirectory /data/sftp/%u
    
    # 指定 sftp 命令
    ForceCommand internal-sftp
    
    # 这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉
    X11Forwarding no
    AllowTcpForwarding no
    EOF
    
    四、Notes
    • ftp-server和internal-sftp都是OpenSSH的一部分。
    • sftp-server是一个独立的二进制文件, internal-sftp只是一个配置关键字,告诉sshd使用内置sshd的SFTP服务器代码,而不是运行另一个进程(sftp-server)。
    • 从功能的角度来看,sftp-server和internal-sftp几乎完全相同。 它们是使用相同的源代码构建的。

    参考:https://www.jianshu.com/p/f24d8ca565d7

    Write By Harry On 2020-02-22

    Update On 2020-04-14

  • 相关阅读:
    Linux内核初探 之 进程(三) —— 进程调度算法
    Android中的路径记录 | RobinBlog
    子域名劫持
    zookeeper 实战
    [iOS 开发] WebViewJavascriptBridge 从原理到实战 · Shannon's Blog
    Swift Property
    工厂方法模式
    jquery插件封装
    其他事件
    吴裕雄--天生自然诗经学习笔记 :夸父逐日
  • 原文地址:https://www.cnblogs.com/xqisui/p/12346210.html
Copyright © 2020-2023  润新知