基于 Ubuntu 搭建 FTP 文件服务

#基于 Ubuntu 搭建 FTP 文件服务#

##实验内容##

FTP 是一个很实用的文件传输协议,方便在客户端和服务器之间进行文件的传输。本实验带您使用 vsftpd 来搭建一个 FTP 服务,并且创建专有的 FTP 登录账户,保障服务器安全。

##实验资源##

云服务器

##软件环境##

Ubuntu 18.04.1 LTS 64位

##目录##

1.安装并启动FTP服务

2.配置用户访问目录

3.准备域名和证书

4.访问FTP服务

##1.安装并启动FTP服务##

###安装vsftpd###

使用apt-get安装vsftpd

sudo apt-get install vsftpd -y

vsftpd是在Linux上被广泛使用的FTP服务器,可能是UNIX-like系统下最安全和最快速的FTP服务器软件。

###启动vsftpd###

安装完成后vsftpd会自动启动,通过netstat命令可以看到系统已经监听了21端口。

sudo netstat -nltp | grep 21

如果没有启动,可以手动开启vsftpd服务:

sudo systemctl start vsftpd.service

FTP协议默认使用21端口作为服务端口

##2.配置用户访问目录##

###新建用户主目录###

在/home新建文件夹uftp:

sudo mkdir /home/uftp

创建登录欢迎文件:

sudo touch /home/uftp/welcome.txt

方便用户登录后可以看到欢迎信息,并且确定用户确实登录到了主目录上。

用户的主目录是用户通过FTP登录后看到的根目录。

###新建用户uftp并设置密码###

创建一个用户uftp:

sudo useradd -d /home/uftp -s /bin/bash uftp

其中 -d 指定用户登录时的主目录,-s 指定用户登录后所使用的shell,uftp是用户名。

为用户uftp设置密码:

sudo passwd uftp

删除掉pam.d中的vsftpd,因为该配置文件会导致使用用户名登录ftp失败:

sudo rm /etc/pam.d/vsftpd

###限制该用户仅能通过FTP访问###

限制用户uftp只能通过FTP访问服务器,而不能直接登陆服务器:

sudo usermod -s /sbin/nologin uftp

###修改vsftpd配置###

sudo chmod a+w /etc/vsftpd.conf

修改/etc/vsftpd.conf文件中的配置:
vi /etc/vsftpd.conf

直接将如下配置添加到配置文件最下方:

#限制用户对主目录以外目录访问
chroot_local_user=YES

#指定一个userlist存放允许访问ftp的用户列表
userlist_deny=NO
userlist_enable=YES

#记录允许访问ftp用户列表
userlist_file=/etc/vsftpd.user_list

#不配置可能导致莫名的530问题
seccomp_sandbox=NO

#允许文件上传
write_enable=YES

#使用utf8编码
utf8_filesystem=YES

按下esc,保存配置文件:

:wq	

新建文件夹/etc/vsftpd.user_list,用于存放允许访问ftp的用户:

sudo touch /etc/vsftpd.user_list
sudo chmod a+w /etc/vsftpd.user_list

修改/etc/vsftpd.user_list:

vi /etc/vsftpd.user_list

加入刚刚创建的用户:

uftp

按下esc,保存文件:

:wq

###设置访问权限###

设置主目录访问权限(只读):

sudo chmod a-w /home/uftp

新建公共目录,并设置权限(读写):

sudo mkdir /home/uftp/public && sudo chmod 777 -R /home/uftp/public

重启vsftpd服务:

sudo systemctl restart vsftpd.service

##3.准备域名和证书##

注:如果你不需要通过域名访问ftp服务器则可跳过这一步。

###域名注册###

###域名解析###

域名购买完成后,需要将域名解析到云服务器上。

域名设置解析后需要过一段时间才会生效,通过ping命令检查域名是否生效,如:

ping www.yourdomain.com

如果ping命令返回的信息中含有你设置的解析的ip地址,说明解析成功。

终止ping命令运行:

按ctrl+c

##4.访问ftp服务##

根据你个人的工作环境,选择一种方式来访问已经搭建的FTP服务

###通过FTP客户端工具访问###

FTP客户端工具众多,下面推荐两个常用的:

$FileZilla-跨平台的FTP客户端,支持Windows和Mac

$WinSCP-Windows下的FTP和SFTP连接客户端

下载和安装 FTP 客户端后,使用下面的凭据进行连接即可:

主机:你的云服务器的IP地址(对应的域名)

用户:uftp

输入密码后,如果能正常连接,你就可以开始使用FTP服务器了。

###通过浏览器访问###

复制下面的[链接]到浏览器的地址栏访问:

ftp://uftp:密码@<IP地址>

ftp://uftp:密码@<对应域名>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值