By: Ailson Jack
Date: 2023.08.20
个人博客:http://www.only2fire.com/
本文在我博客的地址是:http://www.only2fire.com/archives/151.html,排版更好,便于学习,也可以去我博客逛逛,兴许有你想要的内容呢。
本文将在Ubuntu 22.04上搭建ftp服务器,对于其他版本Ubuntu系统或者其他系列的Linux发行版,配置都差不多。
下述内容配置好了匿名用户和Ubuntu本地用户登录ftp服务器,并能上传和删除文件。
安装vsftpd
sudo apt install vsftpd
vsftpd服务在安装完成后会自动启动。通过下述命令可以查看vsftpd的状态:
sudo systemctl status vsftpd
配置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服务器算是完成了,试试吧。
欢迎关注博主的公众号呀(微信搜索公众号:嵌入式那些事),可以扫描下面的公众号二维码(如果公众号图片被CSDN处理了,也可以直接访问我的个人博客文章获取公众号二维码图片):
如果文中有什么问题欢迎指正,毕竟博主的水平有限。
如果这篇文章对你有帮助,记得点赞和关注博主就行了^_^。
排版更好的内容见我博客的地址:http://www.only2fire.com/archives/151.html
注:转载请注明出处,谢谢!^_^