Linux-FTP的基本配置

本文详细介绍了如何在CentOS7上安装和配置FTP服务,包括安装vsftpd、设置白名单用户、编辑配置文件启用白名单、关闭防火墙、启动FTP服务以及限制权限等步骤。此外,还强调了SSL/TLS加密和PASV模式的重要性,以确保数据传输的安全和防火墙穿越。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Centos7-FTP的基本设置与原理和安装


一、 FTP服务的基本配置包括以下几项:

用户权限配置:可以通过配置用户账户和目录访问权限来限制FTP用户的访问权限以及文件上传下载的权限。

端口配置:FTP服务需要开放TCP端口21(控制端口)和20(数据端口),可以在防火墙和路由器等网络设备中进行相应的配置。

SSL/TLS加密配置:可以配置FTP服务启用SSL/TLS加密协议来保证数据传输的安全,可以使用openssl命令生成证书及相关配置。

PASV被动模式配置:当FTP服务器被放在防火墙之后,需要使用PASV被动模式来绕过防火墙的限制。

匿名访问配置:可以配置FTP服务器支持匿名访问,通过设置允许的目录和访问权限来实现功能。

二、本章节设置只允许白名单(user_list文件中用户)用户访问ftp操作过程参考

2.1.安装ftp

如果没有安装ftp,就安装vsftpd软件包:如下

[root@localhost ~]# yum -y install vsftpd
在这里插入图片描述

#安装成功显示完毕

2.2备份主配置文件:

[root@localhost ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

#备份是防止操作过程中把原系统文件弄损坏。

[root@localhost ~]# ls /etc/vsftpd
在这里插入图片描述

#否则就是失败

3.去掉#号开头的行:

[root@localhost ~]# grep -v “^#” /etc/vsftpd/vsftpd.conf.bak > /etc/vsftpd/vsftpd.conf

2.3编辑主配置文件,启用白名单:

启用FTP服务的白名单,可以通过在主配置文件中添加 allow/deny 规则来限制FTP用户能够访问的IP地址或IP地址段。在编辑主配置文件 /etc/vsftpd.conf 时

为了启用白名单,需要对 listen_address 配置项进行修改,并添加 allow/deny 规则,将合法的IP地址或IP地址段列出来,如下所示:

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
在这里插入图片描述

2.4.编辑名单文件user_list ,添加zhangsan、lisi:

[root@localhost ~]# vi /etc/vsftpd/user_list

在这里插入图片描述

6.在系统中添加本地账号zhangsan和lisi:

[root@localhost ~]# useradd lisi

[root@localhost ~]# passwd lisi

在这里插入图片描述

7.查看已有的系统本地普通账号:

[root@localhost ~]# tail -3 /etc/passwd

在这里插入图片描述

2.5.关闭防火墙:

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# setenforce 0

在这里插入图片描述

2.6.启动ftp服务:

在这里插入图片描述

如果在配置FTP服务启用白名单时出现启动失败的情况,可能是由于配置文件存在语法错误或者规则设置有误引起的。

2.7验证

在物理机资源管理器地址栏输入ftp协议及服务器IP地址:

在这里插入图片描述
这时候点确定,在右击找到登录在输入刚才创建账号设置的密码就可以了
在这里插入图片描述
12.尝试上传文件,成功:
在这里插入图片描述

2.8检查运行状态和自动启动

以下命令检查FTP服务的运行状态

sudo systemctl status vsftpd
在这里插入图片描述

为了确保FTP服务在系统启动时自动启动,可以使用以下命令启用FTP服务的自启动功能:

sudo systemctl enable vsftpd

修改完成后,保存修改并使用以下命令重启FTP服务:

sudo systemctl restart vsftpd

2.9配置FTP服务限制权限

配置FTP服务,可以编辑 /etc/vsftpd/vsftpd.conf 文件,修改FTP用户的访问权限和文件上传下载的限制等

anonymous_enable=YES # 允许匿名访问
local_enable=YES # 允许本地用户访问

write_enable=YES # 允许上传文件

chroot_local_user=YES # 将用户限制在主目录中,避免用户越权访问

local_umask=022 # 文件上传的权限掩码,表示将文件权限设置为-rw-r--r-- 			pasv_enable=YES # 允许PASV被动模式

pasv_min_port=12020 # PASV被动模式最小端口号

pasv_max_port=12025 # PASV被动模式最大端口号

ssl_enable=YES # 启用SSL/TLS加密

ssl_cert_file=/etc/vsftpd/vsftpd.crt # SSL证书文件

ssl_key_file=/etc/vsftpd/vsftpd.key # SSL证书私钥文件

需要注意的是,以上配置可能并不适用于所有的环境和需求,可以根据实际情况进行相应的修改。修改完配置文件之后,需要重启vsftpd服务使修改生效。以上参数谨慎修改,否则导致ftp运行不正常

以上就是在CentOS7上安装FTP服务的基本步骤,你可以根据自己的实际情况进行配置

三、总结

FTP(File Transfer Protocol)是一种用于在计算机之间传输文件的标准网络协议。以下是关于在Linux系统上进行FTP配置的总结:

  1. 安装FTP服务器:在Linux系统中,我们可以使用vsftpd、ProFTPD等FTP服务器软件来支持FTP服务。我们需要在Linux系统上使用yum等软件包管理器安装FTP服务器软件。

  2. 配置FTP服务器:安装完成FTP服务器后,我们需要配置FTP服务器来支持用户访问和文件传输。在FTP服务器中,我们可以指定FTP的根目录、管理用户和分配权限等。可以在/etc/vsftpd/vsftpd.conf文件中配置FTP服务器。

  3. 添加FTP用户:我们需要为FTP服务器添加用户,从而允许用户上传和下载文件。在Linux系统中,我们可以使用useradd和passwd命令来创建FTP用户,并通过chroot命令指定FTP的根目录。

  4. 防火墙配置:在Linux系统中,我们通常需要打开FTP服务器所需的端口以允许传输。我们可以在Linux系统中的防火墙中配置相应的规则,以确保FTP客户端和服务器之间的正常通信。

  5. 测试FTP服务:在设置和配置FTP服务器后,我们需要测试是否正常工作。我们可以使用FTP客户端工具(如FileZilla)连接到FTP服务器,并使用FTP客户端进行文件上传和下载等操作,以测试配置是否正常运行。

总之,在Linux系统中进行FTP服务器的配置涉及到多个方面,需要精通FTP服务器软件、用户管理、文件传输、防火墙配置等技术。但是,一旦完成了配置,我们可以快速和安全地传输文件并分享数据。

FTP服务器配置 VSFTP配置文件路径:/etc/vsftpd/vsftpd.conf,重要参数: anonymous_enable=yes/no 是否允许匿名用户访问 anon_upload_enable=yes/no 是否允许匿名用户上传文件 anon_mkdir_write_enable=yes/no 是否允许匿名用户创建目录 anon_other_write_enable=yes/no 匿名用户和虚拟用户是否拥有删除权限 local_enable=yes/no 是否允许本地用户登陆 write_enable=yes/no 设置全局是否可写 anon_root=/var 指定匿名用户目录 chroot_local_user=yes 锁定所有用户到用户主目录 chroot_list_enable=yes/no 锁定列表中的用户到主目录,需要配合下一参数使用 chroot_list_file=/etc/vsftpd/chroot_list 指定存储被锁定用户的列表文件位置 chown_uploads=yes/no 匿名用户上传所有者指定功能,需要与下一参数配合使用 chown_username=用户名 指定匿名用户上传文件的所有者 max_clients=300 最大客户端连接数为300 anon_max_rate=30000 匿名用户和虚拟用户限速为30K/S local_max_rate=30000 本地用户限速为30K/S max_per_ip=10 每个IP最大连接数 listen_port=22 更改监听端口 实现如下要求:允许匿名用户登陆,匿名用户限速为60K/S,只允许下载。监听端口为22,最大连接数为10。新建用户ftp1,限速为200K/S,允许上传下载删除新建文件夹。进入目录/etc/vsftpd,用vi编辑器打开vsftpd.conf主配置文件: 直接添加以下选项: [root@LidadeFedora vsftpd]# service vsftpd restart 添加用户ftp1,设置登录脚本为 /sbin/nologin: vsftp默认目录为:/var/ftp,为方便测试,在/var/ftp下新建一个文件"testLocal",在"/var/ftp/pub"新建一个文件"testAnon"。 由于使用root用户新建文件,文件的所有者为root,所以需要把文件的权限设置为644其他用户才能读取该文件 设置/var/ftp/pub权限为777,表示所有用户均有读写权限. 由于端口22被ssh服务器占用,所以需要关闭ssh服务并重启vsftp服务。 客户端用Flashfxp测试:新建站点"VsftpTest",输入Vsftp服务器的IP地址,端口填22,用户名填ftp1,密码填你设置的密码,然后点击"连接"按钮: 由于没有使用选项:local_root,登陆本地用户时自动跳转到该用户的主目录.没有使用chroot_local_user=yes,所以本地用户可以浏览整个文件系统中他有权限读取的文件和文件夹: 切换到目录"/var/ftp/pub",该目录的权限为777,上传一个10M以上的文件,测试ftp1的上传速度: 新建文件夹和删除权限测试省略。下面测试匿名用户权限:勾选"匿名"选项并连接: 匿名用户登陆成功: 进入pub目录,尝试删除testAnon文件失败,说明这里是配置文件中的anon_other_write_enable=no生效了。最终权限等于配置文件中的权限和linux文件系统权限相或的结果。比如vsftp配置文件中允许匿名用户下载,但光这样是不够的,还需要被下载的文件或文件夹的能够被其他用户读取。 尝试上传文件失败,符合匿名用户只允许下载的要求: 最后测试匿名用户的下载速度: vsftp配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值