zoukankan      html  css  js  c++  java
  • 开启linux下面vsftp自身的服务

    最近业务需求搞了一下sftp,配合samba感觉还是不错的。

    上干货:笔者的环境是centos7.4

    1、建立一个名为sftpuserssftp用户组

    groupadd sftpusers


    2、建立sftp账号(使用-s /bin/false来禁止sftpeb这个账户ssh登录权限)

    useradd -s /bin/false -g sftpusers sftp

    3、修改sftp密码

    passwd sftp    #之后输入两次密码成功即可

    4、配置ssh和权限;修改为下面内容,保存退出。

    UsePAM yes      #UsePAM改成yes
    
    #注释掉这行
    #Subsystem      sftp    /usr/libexec/openssh/sftp-server
    #添加在配置文件末尾
    Subsystem sftp internal-sftp     #指定使用sftp服务使用系统自带的internal-sftp
    Match Group sftpusers             #匹配用户,如果要匹配多个组,多个组之间用逗号分割
    ChrootDirectory %h                 #用chroot指定sftp账户登录的默认根目录 
    ForceCommand internal-sftp    #强制执行内部sftp,并忽略任何~/.ssh/rc文件中的命令
    X11Forwarding no                #这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉
    AllowTcpForwarding no

    5、修改 /home/sftpeb/目录权限为root所有

    chown root:root /home/sftpeb
    chmod 755 /home/sftpeb

    6、此时sftp用户登录后并不能上传文件,那是因为登录后默认是用户目录,比如/home/sftpeb,但是该目录是root用户拥有,因此我们还要修改权限。在用户目录下建立子目录,让sftpusers组中的用户可读写文件。

    cd /home/sftpeb/
    mkdir upload

    7、授权upload文件夹读写 ,让子文件夹upload属于sftp

    chown -R sftpeb /home/sftpeb/upload
    chmod 755 -R /home/sftpeb/upload

    8、检查系统selinux是否关闭,如未关闭一定要关闭!(这点很重要,如果不关闭会导致无法上传,出现权限不足问题“Permission denied“)

    vim /etc/selinux/config
    #将SELINUX=enforcing改为SELINUX=disabled
    #getenforce检查,为“Disabled”即表示已关闭selinux

    9、重启ssh服务,测试是否可用,测试命令如下

    #登录
    sftp sftpeb@192.168.2.33
    #上传
    put /tmp/test.txt
    #下载
    cd upload
    get test.txt

    10、如果在windows端登录的话,用sftp工具登录即可,如xftp

  • 相关阅读:
    4.深入k8s:容器持久化存储
    3.深入k8s:Deployment控制器
    深入k8s:Pod对象中重要概念及用法
    深入k8s:k8s部署&在k8s中运行第一个程序
    博文大纲
    文字渲染一探
    搭建sonarqube分析golang代码
    MSSQL系列 (四):系统函数之日期和时间函数
    MSSQL系列 (三):系统函数之字符串函数
    MSSQL系列 (二):表相关操作、列操作、(唯一、主键、默认、检查、外键、非空)约束、临时表
  • 原文地址:https://www.cnblogs.com/xingyunfashi/p/10948195.html
Copyright © 2011-2022 走看看