美文网首页
搭建sftp服务器

搭建sftp服务器

作者: 叶迎宪 | 来源:发表于2020-12-10 21:10 被阅读0次

    网上大部分文章都是人云亦云,能把为什么这么设置讲得清楚的,可以参考这两篇
    https://blog.csdn.net/qq_15000459/article/details/108108625
    https://www.maixj.net/ict/ssh-sftp-21993

    我的需求是可以设置多个账号,可以共享访问目录,可以看到某个文件是谁创建的

    首先要创建用户组

    groupadd sftp
    

    然后在这个组内添加用户

    useradd -g sftp -s /sbin/nologin -M sftp_test
    useradd -g sftp -s /sbin/nologin -M sftp_app
    

    -g用于指定用户组,-s用于指定login shell,用/sbin/nologin则不允许该用户ssh登录。-M表示不创建该用户的home目录

    接着给这些用户生成密码

    passwd sftp_test
    

    接着,准备ftp的根目录。我用的是/home/sftp。按照规则,这个根目录/home/sftp拥有者只能是root,而且权限最高位755。如果这个目录是用root用户创建的,则默认就是满足的。为了给sftp用户传文件,只能在/home/sftp下面再建一层子目录,把这层子目录的拥有者改为sftp组的某个用户,并把权限改为775,让组内其他成员也可以读写

    mkdir -p /home/sftp/upload
    cd /home/sftp
    chown sftp_test:sftp upload
    chmod 775 upload
    

    再然后,就是修改sshd的配置了。vi /etc/ssh/sshd_config,注释掉
    Subsystem sftp /usr/libexec/openssh/sftp-server
    一行,然后加上

    Subsystem sftp internal-sftp  #配置开启sftp
    Match Group sftp  #配置允许访问组
      ChrootDirectory /home/sftp #配置组用户登录的根目录
      X11Forwarding no
      AllowTcpForwarding no
      PermitTTY no
    

    重启sshd

    systemctl restart sshd
    

    相关文章

      网友评论

          本文标题:搭建sftp服务器

          本文链接:https://www.haomeiwen.com/subject/hutwwktx.html