公司需求由ftp转为sftp,因此需求,捣鼓了两天,在windows系统上研究搭建sftp煞费苦心,最终失败,转为linux上搭建。
windows搭建ftp,工具可使用file zilla,话说支持ftp、sftp,但本人并没有研究出sftp。此工具对权限设置较好,可做到针对每个人访问单个文件夹权限。FreeSSHd,此工具安装简单,但个人使用感不佳,此工具对ftp用户权限设置不佳,所有用户访问ftp目录权限相同。
FreSSHd 搭建ftp,可借鉴:https://jingyan.baidu.com/article/f7ff0bfc1ebd322e27bb1344.html
file zilla 搭建,可借鉴:https://jingyan.baidu.com/article/60ccbceb63762364cab197fe.html
下面正式讲解,linux系统搭建sftp,(此次搭建需求是针对每个用户对文件夹访问做权限设置)
linux搭建sftp使用Openssh服务,linux、centos服务自带此服务。
ssh -V:查看服务版本,版本必须大于4.8p1,低于的这个版本需要升级。
1、创建sftpusers组
groupadd?sftpusers
2、创建sftpusers用户,设置用户不能用于登录系统
useradd -g sftpusers -s /sbin/nologin sftpusers
passwd sftpusers(设置密码)
3、创建sftpusers家目录并指定
mkdir –p /home/Sftp
usermod –d /home/Sftp sftpusers
给家目录更改属主并授权家目录属主必须是root,权限可以是755或者750
chown root:root /home/Sftp
chmod 755 /home/Sftp
4、创建电信用户,指定家目录并授权
mkdir –p /home/Sftp/dianxinFTP
useradd -g sftpusers -s /sbin/nologin dianxin
passwd dianxin(设置密码)
usermod –d /home/Sftp/dianxinFTP dianxin
chown root:root /home/Sftp/dianxinFTP
chmod 755 /home/Sftp/dianxinFTP
5、创建京东账户,指定家目录并授权
mkdir –p /home/Sftp/jingdongFTP
useradd -g sftpusers -s /sbin/nologin jingdong
passwd jingdong(设置密码)
usermod –d /home/Sftp/jingdongFTP jingdong
chown root:root /home/Sftp/jingdongFTP
chmod 755 /home/Sftp/jingdongFTP
6、编辑配置文件/etc/ssh/sshd_config
Subsystem sftp /usr/libexec/openssh/sftp-server#注释掉这行
增加以下6行
Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
将以下注释去掉
PermitRootLogin yes(防止后续root不可登陆系统)
保存并关闭文件
7、重启sshd服务
service sshd restart
8、创建各用户数据目录,并授权
1.sftpusers用户
mkdir –p /home/Sftp/data
chown sftpusers:sftpusers /home/Sftp/data
chmod 755 /home/Sftp/data
2.dianxin用户
mkdir –p /home/Sftp/dianxinFTP/dianxin
chown dianxin:sftpusers /home/Sftp/dianxinFTP/dianxin
chmod 777 /home/Sftp/dianxinFTP/dianxin
3.jingdong用户
mkdir –p /home/Sftp/jingdongFTP/jingdong
chown jingdong:sftpusers /home/Sftp/jingdongFTP/jingdong
chmod 777 /home/Sftp/jingdongFTP/jingdong
9、验证
[email protected]输入密码,显示sftp>则sftp搭建成功。
原文地址:http://blog.51cto.com/lmy666/2084480