一、 FTP服务的基本配置包括以下几项:
用户权限配置:可以通过配置用户账户和目录访问权限来限制FTP用户的访问权限以及文件上传下载的权限。
端口配置:FTP服务需要开放TCP端口21(控制端口)和20(数据端口),可以在防火墙和路由器等网络设备中进行相应的配置。
SSL/TLS加密配置:可以配置FTP服务启用SSL/TLS加密协议来保证数据传输的安全,可以使用openssl命令生成证书及相关配置。
PASV被动模式配置:当FTP服务器被放在防火墙之后,需要使用PASV被动模式来绕过防火墙的限制。
匿名访问配置:可以配置FTP服务器支持匿名访问,通过设置允许的目录和访问权限来实现功能。
二.安装ftp
1.如果没有安装ftp,就安装vsftpd软件包:如下
[root@localhost ~]# yum -y install vsftpd
2.备份主配置文件:
[root@localhost ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
#备份是防止操作过程中把原系统文件弄损坏。
3.编辑主配置文件,启用白名单:
启用FTP服务的白名单,可以通过在主配置文件中添加 allow/deny 规则来限制FTP用户能够访问的IP地址或IP地址段。在编辑主配置文件 /etc/vsftpd.conf 时
为了启用白名单,需要对 listen_address 配置项进行修改,并添加 allow/deny 规则,将合法的IP地址或IP地址段列出来,如下所示:
[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
4.在系统中添加本地账号zhangsan和lisi:
[root@localhost ~]# useradd lisi
[root@localhost ~]# passwd lisi
5.查看已有的系统本地普通账号:
[root@localhost ~]# tail -3 /etc/passwd
6.关闭防火墙:
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
7.启动ftp服务:
[root@localhost ~]# systemctl start vsftpd
如果在配置FTP服务启用白名单时出现启动失败的情况,可能是由于配置文件存在语法错误或者规则设置有误引起的。
8.验证
在物理机资源管理器地址栏输入ftp协议及服务器IP地址:
尝试上传文件 成功
9.检查运行状态和自动启动
以下命令检查FTP服务的运行状态
sudo systemctl status vsftpd
为了确保FTP服务在系统启动时自动启动,可以使用以下命令启用FTP服务的自启动功能:
sudo systemctl enable vsftpd
修改完成后,保存修改并使用以下命令重启FTP服务:
sudo systemctl restart vsftpd
10.配置FTP服务限制权限
配置FTP服务,可以编辑 /etc/vsftpd/vsftpd.conf 文件,修改FTP用户的访问权限和文件上传下载的限制等
在命令控制符中连接虚拟机,并且完成文件的上传与下载
C:\Users\86150>ftp 192.168.2.3
连接到 192.168.2.3。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.2.3:(none)): te #虚拟机新建的用户
331 Please specify the password.
密码:
230 Login successful.
ftp> ls -a
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
.
..
pub
test.txt #创建的文本文件
226 Directory send OK.
ftp: 收到 25 字节,用时 0.00秒 12.50千字节/秒。
ftp> get test.txt #获取即本机下载文本文件
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for test.txt (13 bytes).
226 Transfer complete.
ftp: 收到 13 字节,用时 0.00秒 13000.00千字节/秒。
ftp> put test.txt #上传文本文件
200 PORT command successful. Consider using PASV.
553 Could not create file.
三、总结
FTP(File Transfer Protocol)是一种用于在计算机之间传输文件的标准网络协议。以下是关于在Linux系统上进行FTP配置的总结:
安装FTP服务器:在Linux系统中,我们可以使用vsftpd、ProFTPD等FTP服务器软件来支持FTP服务。我们需要在Linux系统上使用yum等软件包管理器安装FTP服务器软件。
配置FTP服务器:安装完成FTP服务器后,我们需要配置FTP服务器来支持用户访问和文件传输。在FTP服务器中,我们可以指定FTP的根目录、管理用户和分配权限等。可以在/etc/vsftpd/vsftpd.conf文件中配置FTP服务器。
添加FTP用户:我们需要为FTP服务器添加用户,从而允许用户上传和下载文件。在Linux系统中,我们可以使用useradd和passwd命令来创建FTP用户,并通过chroot命令指定FTP的根目录。
防火墙配置:在Linux系统中,我们通常需要打开FTP服务器所需的端口以允许传输。我们可以在Linux系统中的防火墙中配置相应的规则,以确保FTP客户端和服务器之间的正常通信。
测试FTP服务:在设置和配置FTP服务器后,我们需要测试是否正常工作。我们可以使用FTP客户端工具(如FileZilla)连接到FTP服务器,并使用FTP客户端进行文件上传和下载等操作,以测试配置是否正常运行。