`

linux下sftp配置

阅读更多
linux centos7下sftp配置
Linux环境下自带sftp;无需部署sftp

配置sftp的操作权限步骤:


1、检查openssh版本:

     使用ssh -V 命令来查看openssh的版本,版本必须大于4.8p1,低于的这个版本需要升级。

2、满足上述要求后,可以给sftp创建用户组和用户:

   a、创建用户组:

     
 groupadd  sftp


   b、创建登录用户(用户mysftp属于sftp用户组):

      //-g:加入主要组  -s指定用户登入后所使用的shell    -M:不要自动建立用户的登入目录

    
 useradd -g sftp -s /bin/nologin -M mysftp  

   c、设置用户密码:

      
 passwd mysftp


3、创建完用户后,需创建sftp上传的路径位置:

    a、指定sftp用户组的目录位置:

  
    
      mkdir -p /data/sftp
      chown root:sftp /data/sftp  //把sftp目录归属sftp用户组,用户为root
      chmod 755 /data/sftp  //进行权限设置


    b、创建mysftp用户操作目录:

     
 
      mkdir /data/sftp/upload
      chown mysftp:sftp /data/sftp/upload
      chown 755 /data/sftp/upload


4、修改sftp相关配置信息

     a、修改配置文件sshd_config
         
vi /etc/ssh/sshd_config


     b、找到“Subsystem      sftp    /usr/libexec/openssh/sftp-server ”并注释掉添加如下信息

       
        #Subsystem      sftp    /usr/libexec/openssh/sftp-server 必须注释掉
        Subsystem sftp internal-sftp 
        Match Group sftp   #sftp匹配用户组 
        ChrootDirectory /data/sftp
        ForceCommand internal-sftp 
        AllowTcpForwarding no     
        X11Forwarding no   


    c、当然修改完上述配置文件,还得将SELINUX=enforcing 修改为 SELINUX=disabled;这步操作有两种操作模式;

        方式一:修改/etc/selinux/config,将文件中的SELINUX=enforcing 修改为 SELINUX=disabled ,然后保存,需重启linux。
        方式二:直接shell命令:setenforce 0;该命令无需重启

   d、重启sshd服务

      对于centos6命令:
service sshd restart


       对于centos7命令:
systemctl restart sshd


5、以上完成了sftp的配置和重启;接下来就是测试了

    a、登录sftp命令:

        
sftp mysftp@127.0.0.1     //mysftp是用户名


        输入密码后,登录的目录为/data/sftp/,登录后的该目录只有读的权限,无其他执行权限;需要进入upload目录,如下操作

      
sftp>  cd upload  #该目录下具有上传,删除、创建等权限


     
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics