FTP服务器配置 CentOS 7

本文详细介绍了如何在CentOS7上配置VSFTPD服务器,包括实体用户和匿名用户登录设置、权限控制、文件传输速率限制、连接超时设置等关键参数配置。

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

FTP服务器配置 CentOS 7

【项目描述】
本章主要学习Red Hat Enterprise Linux 5下 VSFTPD服务的配置。VSFTPD是一个较为安全的FTP服务器软件,本项目使用VSFTPD配置FTP服务器,实现以下功能:

  1. 开放实体用户登陆。使用者登陆FTP的时候显示欢迎消息;系统帐号不允许登陆;允许实体用户进行上传、下载、建立目录及修改文件;设置用户新建文件、目录的umask为002。
  2. 仅允许匿名登陆。匿名登陆时显示欢迎消息;仅开放anonymous登陆,且不需要密码;限制文件转输速度为30KB/s;文件连接过程超过60秒没有回应就断开连接;anonymous超过10分钟没有动作就断线;最大同时上线人数限制为50人,同一IP的最大连线数为5。
    【构思设计】
    使用vsFTPD配置FTP服务器,需要用到几个比较重要的文件以及配置文件中的主要参数:
    几个重要的文件
    /etc/vsftpd/vsftpd.conf
    这是vsftpd的配置文件,这个文件的设定是以“参数=设定值”的格式来设定的,并且等号两边不能有空格。
    /etc/pam.d/vsftpd
    这是vsftpd使用PAM模块时的相关设定文件,用来作身份验证之用。
    /etc/vsftpd/ftpusers
    与上面的文件有关,用来设定不允许登陆的用户帐号。
    /etc/vsftpd/user_list
    这个文件是否生效与vsftpd.conf内的两个参数有关,分別是userlist_enable, userlist_deny,用于控制用户的登陆。
    /etc/vsftpd/chroot_list
    这个文件默认是不存在的,需要手动建立。这个文件的主要功能是可以将某些帐号的使用者chroot在他们的家目录下。但这个文件要生效与vsftpd.conf内的chroot_list_enable, chroot_list_file两个参数有关。
    /usr/sbin/vsftpd
    这是vsftpd的主要执行脚本。
    /var/ftp/
    这是匿名登陆的根目录。
    匿名用户设置
    anonymous_enable=yes 用来设置允许匿名登陆。
    anon_upload_enable=yes 开放上传权限,允许匿名上传。
    anon_mkdir_write_enable=yes 设置匿名用户创建目录的同时可以在此目录中上传文件。
    anon_other_write_enable=yes 设置匿名帐号可以有删除的权限。
    anon_world_readable_only=no 若设置为yes,则匿名用户不仅可以上传和建立目录,而且可以删除和更改文件和目录的权限。
    anon_root=/var/ftp 设置匿名用户登录后所在的目录。
    系统界面设置
    dirmessage_enable=yes 设置是否显示目录信息。当切换目录时,显示目录下.message的内容。
    connect_form_port_20=yes 启用FTP数据端口20的数据连接。
    listen_port=21 设置FTP服务器监听客户端连接使用21端口。
    ftpd_banner=welcome 设置欢迎信息。
    listen=yes 设置独立的VSFTPD服务器。
    local_root=/var/ftp 设置本地用户登录后的目录。
    write_enable=yes 开放本地用户写的权限。
    本地用户权限设置
    表示Linux系统上的用户对该FTP服务器的访问权限,如root用户,tom和john用户等。
    local_enble=yes 本地帐户能够登陆,这样/etc/passwd内的帐号才可以登录。
    userlist_enable=yes 决定usftpd.user_list文件生效,no表示不生效。
    local_max_rate=0 本地用户所能使用的最大传输速度,单位是B/s。设置为0表示不受速度限制。
    服务相关设置
    anon_max_rate=0 匿名用户所能使用的最大传输速度,单位是B/s。设置为0表示不受速度限制。
    max_clients=0 表示服务器最多可以连接多少客户端。0表示不限制,具体的数字表示客户端最大的限制数目。
    max_per_ip=2 表示同一个ip的客户端最多可以最大连接数量是2。
    accept_timeout=60 表示连接服务器的超时时间,单位是秒。
    data_connection_timeout=120 表示数据连接的超时时间,单位是秒。
    idle_session_timeout=600 表示600秒内对服务器没有任何操作后断开服务器连接,单位是秒。
    传输模式设置
    ascii_download_enable=yes 设置启用ASCII模式下载数据。默认是no。
    ascii_upload_enable=yes 设置启用ASCII模式上传数据。默认是no。

【实施运行】
1、 查询是否安装了vsftpd服务。用 rpm –qa | grep vsftpd 查询是否安装了vsftpd软件包。若未安装则使用yum -y install vsftpd 安装。

#rpm –qa | grep vsftpd

在这里插入图片描述
2.、 编辑主配置文件 ** /etc/vsftpd/vsftpd.conf**,修改服务器的配置参数

#vim  /etc/vsftpd/vsftpd.conf

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
3、 保存文件退出vi,然后重启vsftpd服务。
在这里插入图片描述
4、 主配置文件中参数 banner_file=/etc/vsftpd/welcome.txt设置了站点消息的文件,现在编辑这个文件。

在这里插入图片描述
5、 文件中输入以下消息内容。
在这里插入图片描述
建立限制系统用户登陆的文件
在这里插入图片描述

在这里插入图片描述

 建立一个用于登陆FTP的实体帐号ftpuser

在这里插入图片描述
切换到客户端登陆测试。
在这里插入图片描述

换成用root和anonymous登陆试试。
在这里插入图片描述

在这里插入图片描述

chroot的使用
通过chroot可以设置某些帐号登陆后不允许离开他的家目录。设定的方法很简单,修改vsftpd.conf,增加以下的项目:

在这里插入图片描述
在这里插入图片描述

重启vsftpd服务

在这里插入图片描述
建立要被chroot的使用者文件。
在这里插入图片描述
在这里插入图片描述

限制下载带宽,最大上线人数与同一IP来源数。
在这里插入图片描述
在这里插入图片描述

保存文件退出vi,并且重启服务。
在这里插入图片描述

仅允许匿名登陆

匿名访问的根目录是/var/ftp,也就是匿名访问看到的是/var/ftp目录下的文件。先在该目录下建立linux和gnu文件夹,假设是用于存放提供下载的文件。

在这里插入图片描述

修改配置文件/etc/vsftpd/vsftpd.conf

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
保存文件退出vi,重启服务。
在这里插入图片描述
切换到客户端登陆测试。
在这里插入图片描述

实验到此失败,终止,问题尚未解决,解决回来更新。

续:
我们遇到这个情况,可以尝试使用setsebool -P ftpd_connect_all_unreserved 1这条命令,开启ftp所有权限。

setsebool -P ftpd_connect_all_unreserved 1

在这里插入图片描述
可以看到显示出了目录
我们在测试端进入该目录新建文件。
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值