Centos7 配置FTP服务器

本文详细介绍如何使用vsftpd配置FTP服务器,包括实体用户登录、匿名登录的设置,以及chroot限制、速度控制和界面定制等内容。

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

1.实验描述

注: vsftpd是一个较为安全的FTP服务器软件,本次使用vsftpd配置ftp服务器。 本次实验适用于新手入门学习

①实验内容

1)开放实体用户登录
使用者登陆FTP的时候显示欢迎消息;系统帐号不允许登陆;允许实体用户进行上传、下载、建立目录及修改文件;设置用户新建文件、目录的umask为002。
2)仅允许匿名登陆
匿名登陆时显示欢迎消息;仅开放anonymous登陆,且不需要密码;限制文件转输速度为30KB/s;文件连接过程超过60秒没有回应就断开连接;anonymous超过10分钟没有动作就断线;最大同时上线人数限制为50人,同一IP的最大连线数为5。

②主要用到的几个文件:

/etc/vsftpd/vsftpd.conf 主要配置文件,格式为“参数=设定值”,不能有多余的空格。
/etc/pam.d/vsftpd 用来作身份验证
/etc/vsftpd/ftpusers 用来设定不允许登录的用户账号
/etc/vsftpd/user_list 用于控制用户的登录
/etc/vsftpd/chroot_list 这个文件默认不存在,需要手动建立。主要是可以将某些账号的使用者chroot在他们的家目录下。但这个文件要生效与vsftpd.conf内的chroot_list_enable,chroot_list_file两个参数有关。
/usr/sbin/vsftpd 这是vsftpd的主要执行脚本。
/var/ftp 这是匿名登录的根目录。

2.相关的配置参数(仅供参考,不是全部使用)

匿名用户设置

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。

3.安装FTP服务

# yum install vsftpd -y

4.开放实体用户登录

①设置PAM

# vim /etc/pam.d/vsftpd

一般这个是系统已经设置好了的,我们进去可以进去查看一下。
在这里插入图片描述

②vsftp主配置文件

# vim /etc/vsftpd/vsftpd.conf 

在这里插入图片描述在这里插入图片描述
设置完后保存退出。

③重启vsftpd服务

# service vsftpd restart

倘若出现错误,可以根据提示进行修改。

④设置欢迎界面

# vim /etc/vsftpd/welcome.txt

在文件中输入欢迎信息:
在这里插入图片描述
然后保存退出

⑤建立限制系统用户登录的文件

# vim /etc/vsftpd/user_list

在这里插入图片描述

⑥建立账户

添加用户 twentyf
在这里插入图片描述

5.测试仅开放实体用户登录

打开DNS服务(详细配置可看我以前的博客,必须要使客户端连接上以centos7为主机的DNS服务器)
在这里插入图片描述
登录客户端进行测试
在这里插入图片描述在这里插入图片描述在这里插入图片描述

6.chroot的使用

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

1.建立要被chroot的使用者文件

# vim /etc/vsftpd/chroot_list

在这里插入图片描述

2.把这两行的的注释符号去掉
在这里插入图片描述
在这里插入图片描述
保存退出,重启vsftpd服务器

这样就完成了。

7.仅开放匿名登录

1.匿名访问的根目录是/var/ftp,也就是匿名访问看到的是/var/ftp目录下的文件。先在该目录下建立linux和gnu文件夹,假设是用于存放提供下载的文件。
在这里插入图片描述
在这里插入图片描述

2.配置vsftpd.conf文件
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

3.保存并退出,创建目录upload并且改变其所有者。
在这里插入图片描述

8.测试仅开放匿名用户登录

1.打开客户端进行测试匿名登录
在这里插入图片描述
2.测试匿名用户能否上传文件和建立目录

在这里插入图片描述
上传文件可以删除
在这里插入图片描述
3.设置匿名用户能上传不能下载
在这里插入图片描述

保存退出后重启服务,去客户端测试
在这里插入图片描述

好的,以下是CentOS7配置FTP服务器的步骤: 1.安装vsftpd软件包: ``` sudo yum install vsftpd ``` 2.启动vsftpd服务: ``` sudo systemctl start vsftpd ``` 3.设置vsftpd服务开机自启: ``` sudo systemctl enable vsftpd ``` 4.配置vsftpd: 打开vsftpd的配置文件 /etc/vsftpd/vsftpd.conf,进行以下修改: ``` anonymous_enable=YES local_enable=YES write_enable=YES local_umask=022 anon_upload_enable=YES anon_mkdir_write_enable=YES xferlog_enable=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES idle_session_timeout=600 data_connection_timeout=120 listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES ``` 其中,配置项的含义如下: - anonymous_enable:启用匿名用户登录 - local_enable:启用本地用户登录 - write_enable:允许上传文件 - local_umask:本地用户的文件掩码 - anon_upload_enable:允许匿名用户上传文件 - anon_mkdir_write_enable:允许匿名用户创建目录 - xferlog_enable:启用传输日志 - xferlog_file:传输日志文件路径 - xferlog_std_format:传输日志使用标准格式 - idle_session_timeout:空闲连接超时时间 - data_connection_timeout:数据连接超时时间 - listen:监听所有的IP地址 - pam_service_name:使用PAM认证 - userlist_enable:启用用户列表 - tcp_wrappers:使用TCP包装器 5.创建FTP用户: ``` sudo useradd -m ftpuser sudo passwd ftpuser ``` 6.设置FTP用户的根目录: ``` sudo mkdir /home/ftpuser/ftp sudo chown ftpuser:ftpuser /home/ftpuser/ftp sudo chmod 755 /home/ftpuser/ftp ``` 7.配置防火墙: ``` sudo firewall-cmd --permanent --zone=public --add-service=ftp sudo firewall-cmd --reload ``` 至此,CentOS7配置FTP服务器的步骤就完成了。可以通过FTP客户端进行连接测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值