嵌入式技术
本文将在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服务器算是完成了,试试吧。
全部0条评论
快来发表一下你的评论吧 !