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 [email protected] //mysftp是用户名
输入密码后,登录的目录为/data/sftp/,登录后的该目录只有读的权限,无其他执行权限;需要进入upload目录,如下操作
sftp> cd upload #该目录下具有上传,删除、创建等权限