linux下sftp配置

linuxcentos7下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、找到“Subsystemsftp/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命令:setenforce0;该命令无需重启

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  #该目录下具有上传,删除、创建等权限

相关推荐