Linux 下可安装 vsftpd,编辑配置文件设置用户权限等
Linux下搭建FTP服务器,通常可以选择使用vsftpd(Very Secure FTP Daemon)这款开源且安全的FTP服务器软件,以下是详细的搭建步骤及相关配置说明:
安装vsftpd
-
更新软件源(可选但推荐):
- 在Ubuntu/Debian系统上,执行
sudo apt update
命令更新软件包列表,确保获取到最新的软件版本信息。 - 在CentOS/Red Hat系统上,执行
sudo yum update
命令更新Yum源。
- 在Ubuntu/Debian系统上,执行
-
安装vsftpd软件包:
- Ubuntu/Debian系统:执行
sudo apt install vsftpd
命令进行安装。 - CentOS/Red Hat系统:执行
sudo yum install -y vsftpd
命令进行安装。
- Ubuntu/Debian系统:执行
配置vsftpd
-
备份原始配置文件(可选但推荐):
- 在Ubuntu/Debian系统上,执行
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
命令备份原始配置文件。 - 在CentOS/Red Hat系统上,执行
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
命令备份原始配置文件。
- 在Ubuntu/Debian系统上,执行
-
编辑配置文件:
- 使用文本编辑器(如vi或vim)打开vsftpd的配置文件,在Ubuntu/Debian系统上,执行
sudo vim /etc/vsftpd.conf
;在CentOS/Red Hat系统上,执行sudo vim /etc/vsftpd/vsftpd.conf
。 - 根据实际需求修改配置文件中的参数,以下是一些常见的配置选项及说明:
- 使用文本编辑器(如vi或vim)打开vsftpd的配置文件,在Ubuntu/Debian系统上,执行
参数 | 说明 |
---|---|
anonymous_enable=NO | 禁用匿名访问,提高安全性 |
local_enable=YES | 启用本地用户访问 |
write_enable=YES | 允许用户上传文件 |
chroot_local_user=YES | 将本地用户限制在其主目录中,增强安全性 |
pasv_enable=YES | 开启被动模式,方便客户端连接 |
pasv_min_port=端口号 | 设置被动模式下的最小端口号,需在防火墙中放行该端口范围 |
pasv_max_port=端口号 | 设置被动模式下的最大端口号,需在防火墙中放行该端口范围 |
- 保存并退出配置文件:在编辑器中按Esc键退出编辑模式,然后输入
:wq
保存并退出配置文件。
创建FTP用户及目录
-
创建FTP用户:
- 执行
sudo adduser ftpuser
命令创建一个名为ftpuser的FTP用户。 - 执行
sudo passwd ftpuser
命令为该用户设置密码。
- 执行
-
创建FTP目录并设置权限:
- 执行
sudo mkdir /home/ftp
命令创建一个用于存放FTP文件的目录(这里以/home/ftp为例,可根据实际需求修改)。 - 执行
sudo chown -R ftpuser:ftpuser /home/ftp
命令将该目录的所有权赋予ftpuser用户。 - 执行
sudo chmod 777 /home/ftp
命令设置该目录的权限为可读、可写、可执行(根据实际需求调整权限)。
- 执行
配置防火墙
-
查看防火墙状态:
- 执行
sudo ufw status
(Ubuntu/Debian系统)或sudo systemctl status firewalld
(CentOS/Red Hat系统)命令查看防火墙状态。
- 执行
-
允许FTP流量通过防火墙:
- 如果防火墙处于激活状态,需要允许FTP所需的端口通过防火墙,对于主动模式,需要放行TCP端口21(用于FTP控制连接)和TCP端口20(用于FTP数据连接),对于被动模式,除了放行端口21外,还需要放行配置文件中设置的pasv_min_port到pasv_max_port之间的所有端口。
- 在Ubuntu/Debian系统上,可以使用
sudo ufw allow 21
和sudo ufw allow 20
(主动模式)或sudo ufw allow 21
加上sudo ufw allow from <起始端口> to <结束端口>
(被动模式)命令来放行端口。 - 在CentOS/Red Hat系统上,可以使用
sudo firewall-cmd --permanent --add-service=ftp
(主动模式)或sudo firewall-cmd --permanent --add-port=21/tcp
加上sudo firewall-cmd --permanent --add-port=<起始端口>-<结束端口>/tcp
(被动模式)命令来放行端口,然后执行sudo firewall-cmd --reload
命令重新加载防火墙配置。
启动并设置vsftpd自启动
-
启动vsftpd服务:
- 执行
sudo systemctl start vsftpd
命令启动vsftpd服务。
- 执行
-
设置vsftpd开机自启动:
- 执行
sudo systemctl enable vsftpd
命令设置vsftpd服务在系统启动时自动启动。
- 执行
验证FTP服务
-
使用FTP客户端连接测试:
- 在客户端计算机上安装并打开FTP客户端软件(如FileZilla)。
- 在FTP客户端中输入FTP服务器的IP地址、用户名(ftpuser)和密码进行连接。
- 如果连接成功,即可上传和下载文件,说明FTP服务器搭建成功。
-
通过浏览器或文件资源管理器访问测试(可选):
- 在浏览器或文件资源管理器的地址栏中输入
ftp://<FTP服务器IP地址>
,然后按提示输入用户名和密码进行登录。 - 如果能够成功登录并浏览文件目录,也说明FTP服务器搭建成功。
- 在浏览器或文件资源管理器的地址栏中输入
相关问答FAQs
-
问:如何更改FTP用户的主目录?
- 答:可以在vsftpd的配置文件中设置
local_root
参数为新的目录路径,设置local_root=/var/ftp/test
,然后将该目录的所有权赋予相应的FTP用户,确保该目录存在且具有正确的权限设置。
- 答:可以在vsftpd的配置文件中设置
-
问:如何设置FTP用户的上传和下载速度限制?
- 答:vsftpd本身不直接提供上传和下载速度限制的功能,但可以通过结合Linux的流量控制工具(如tc命令)来实现,需要了解如何使用tc命令对网络接口进行流量控制,然后根据FTP用户的网络连接情况,为其分配相应的流量限制规则。
以上就是关于“linux下如何搭建ftp”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/10165.html