ubuntu创建sftp+ftp+apache服务器以及实际工程中的应用

本文详细介绍了在Ubuntu上搭建sftp、ftp和apache服务器的过程,包括需求分析、创建sftp和ftp服务器,以及配置apache服务器以访问上传文件。重点在于sftp和ftp共用用户和目录,确保app和客户端能上传文件至同一位置,并通过apache进行访问。
摘要由CSDN通过智能技术生成

一、需求分析

上一篇简单写了如何搭建ftp和sftp服务器,还是很简单的,但是现在公司有了具体的需求,需要搭建一个ftp和sftp服务器,创建一个用户,能同时使用这两个服务,公司开发一个项目,有windows客户端(ftp上传)和Android的app(sftp上传),现在需要在这两个终端上通过这两个协议上传视频、图片等文件至服务器的指定文件夹下,然后apache能够访问到该文件夹,然后下载、播放和查看该视频/图片文件。总结起来就是,sftp和ftp共用一个用户,app和客户端上传文件时使用这一个用户上传,上传的路径是同一个文件夹,然后apache能够访问。画出图如下所示:

二、创建sftp服务器

进入root模式(下面的操作默认都是在root用户下)

#安装openssh-server
apt-get install -y openssh-server

创建sftp的组sftp-users和用户user1

#创建sftp-users组
groupadd sftp-users
#创建sftp用户登录目录volume
mkdir /home/volume
#创建sftp用户user1,并且绑定其主目录为刚才创建的目录
useradd -d /home/volume user1
#设置用户user1的密码
passwd user1
#输入两次密码
#将用户user1添加到组sftp-users中,并且设置不能telnet
#注:-a参数表示append,linux在创建用户时会默认创建一个和用户同名的组
#加上-a参数表示alice不退出原来的名为alice的组的情况下,加入sftp-users组中
usermod -a -G sftp-users -s /bin/false user1

创建ssh用户组及用户管理

#创建ssh-users组
groupadd ssh-users
#将当前的ubuntu系统管理员加入到ssh-users组中
usermod -a -G ssh-users admin
#创建sftp的根目录并修改相应权限(将admin改为管理员名字)
mkdir /home/volume
mkdir /home/volume/vod
chown admin:sftp-users /home/volume/vod
#因为要上传文件到vod目录,且所有用户共享,所以vod必须要给777权限
chmod 777 /home/volume/vod
#修改ssh的配置文件
vi /etc/ssh/sshd_config
#首先修改sftp的默认端口号(默认是22,现在需求13022),第一行就是
Port 13022

#然后在文件末尾添加下面内容:
AllowGroups ssh-users sftp-users
 
Match Group sftp-users
 
ChrootDirectory /home/volume
 
AllowTcpForwarding no
 
X11Forward
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值