Centos7搭建sftp服务器

如下操作:

groupadd sftp #创建用户组
useradd -g sftp -s /sbin/nologin -M sftpuser #创建用户并且加入到这个用户组
passwd sftpuser #设置用户密码
cd /home
mkdir sftpuser #创建sftp用户主目录
chown root:sftp sftpuser
chmod 755 sftpuser
cd sftpuser
mkdir folder #主目录下面还需要一级目录
chown sftpuser:sftp folder
vim /etc/ssh/sshd_config

进入文件后,变更以下设置

Subsystem      sftp    internal-sftp

再添加以下设置

Match User sftpuser
       X11Forwarding no
       AllowTcpForwarding no
       ForceCommand internal-sftp
       ChrootDirectory /home/sftpuser
systemctl restart sshd

至此,sftp服务就配置好了,用户名是sftpuser,密码是之前设定的,“/home/sftpuser”就是连入sftp后看到的默认路径,一般我们会使用/home/sftpuser/folder这个路径。

顺便说一下,有时会有这样的需求,比如java服务部署在/usr/local/tomcat/webapps路径中,而sftp连入后进入的路径是/home/sftpuser。我们希望即便是在这个路径中,也能管理tomcat中部署的java文件(如更新程序),这时就需要使用mount命令了,将/usr/local/tomcat/webapps路径映射过来。
假设tomcat部署路径:/usr/local/tomcat/webapps
假设要映射到的路径:/home/sftpuser/tomcat/webapps

#首先要配置tomcat部署目录的权限,否则即使能访问也可能无法写入
chown -R root:sftp /usr/local/tomcat/webapps #给目录分配sftp用户组,使得组下的sftpuser用户能有操作权限
chmod -R 770 /usr/local/tomcat/webapps #给目录分配权限,使得sftpuser能正常写入
cd /home/sftpuser/folder
mkdir tomcat
cd tomcat
mkdir webapps
mount --bind /usr/local/tomcat/webapps /home/sftpuser/folder/tomcat/webapps

再次连入sftp,发现这些目录能正常访问了,但是事情还没有结束,以上的目录映射是临时的,重启后失效,还需要进行一下设置:

vi /etc/fstab
/usr/local/tomcat/webapps /home/sftpuser/folder/tomcat/webapps auto bind 0 0 #添加这一行
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值