如何在Ubuntu 22.04上搭建ftp服务器

嵌入式技术

1330人已加入

描述

本文将在Ubuntu 22.04上搭建ftp服务器,对于其他版本Ubuntu系统或者其他系列的Linux发行版,配置都差不多。

下述内容配置好了匿名用户和Ubuntu本地用户登录ftp服务器,并能上传和删除文件。

安装vsftpd

 

sudo apt install vsftpd

 

vsftpd服务在安装完成后会自动启动。通过下述命令可以查看vsftpd的状态:

 

sudo systemctl status vsftpd

 

服务器

Snipaste_2023-05-07_16-14-31

配置vsftpd

可以通过编辑/etc/vsftpd.conf文件来配置vsftpd服务器。大多数ftp配置在配置文件中都有描述。有关所有可用选项,可以官方vsftpd页面进行查询。

执行下述命令打开/etc/vsftpd.conf文件:

 

sudo vim /etc/vsftpd.conf

 

配置FTP登录方式

将/etc/vsftpd.conf文件中的anonymous_enable和local_enable设置成如下的配置:

 

anonymous_enable=YES
local_enable=YES

 

anonymous_enable:控制是否允许匿名登录。

local_enable:控制是否允许Ubuntu的本地用户登录(ftp客户端可以使用Ubuntu的用户名和密码登录到ftp服务器中)。

限制用户访问其他目录

为防止FTP用户访问其主目录之外的其他目录,在/etc/vsftpd.conf文件中,取消chroot_local_user=YES的注释:

 

chroot_local_user=YES

 

并且在/etc/vsftpd.conf文件的末尾添加下述内容,设置ftp用户的主目录为/home:

 

local_root=/home

 

允许上传和删除操作

在/etc/vsftpd.conf文件中,取消write_enable的注释,以允许对文件系统进行更改,例如上传和删除文件。

 

#用户是否有写的权限
write_enable=YES

 

在/etc/vsftpd.conf文件中,打开匿名用户的一些配置,如果下述配置在/etc/vsftpd.conf文件中没有,可以在配置文件中进行添加:

 

#允许匿名用户上传
anon_upload_enable=YES

#允许匿名用户创建目录文件
anon_mkdir_write_enable=YES

#允许匿名用户删除文件
anon_other_write_enable=YES

 

设置匿名用户的默认目录

在/etc/vsftpd.conf文件中,增加anon_root的配置,内容如下:

 

anon_root=/home/ailsonjack/share

 

anon_root:设置匿名用户的默认路径。

到这里已经完成了对/etc/vsftpd.conf文件的配置,保存退出/etc/vsftpd.conf文件的编辑。

在/home/ailsonjack文件夹中创建share文件夹,命令如下:

 

cd /home/ailsonjack
mkdir share

 

为了保证匿名用户能够顺利的上传和删除文件,需要在share文件夹中创建ftp文件夹,之后改变ftp文件夹的权限为777,匿名用户就只能在ftp文件夹中进行文件的上传或者删除。

 

cd share
mkdir ftp
chmod 777 ftp/

 

使配置生效

设置完成/etc/vsftpd.conf文件之后,执行下述命令重启vsftpd来使设置生效:

 

sudo systemctl restart vsftpd

 

禁用防火墙

为了确保ftp服务器能够正常工作,我这里简单的关闭防火墙,命令如下:

 

sudo ufw disable

 

关闭防火墙之后,可以执行下述命令查看防火墙的状态:

 

sudo ufw status

 

至此,Ubuntu搭建ftp服务器算是完成了,试试吧。

  审核编辑:汤梓红
 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分