Linux系统中的FTP服务配置与管理

本文详细介绍了Linux系统中FTP服务的配置与管理,包括FTP协议的工作原理、主动与被动模式、常见FTP服务器软件(如vsftpd)。重点讲解了如何安装配置vsftpd,设置匿名用户和本地用户权限,以及实现虚拟用户模式。同时,文章还提供了FTP服务器搭建的实训操作,涵盖了权限控制、连接限制和基于主机的访问控制等高级配置。

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

目录

一、FTP协议

1.介绍

2.用处

3.FTP原理

4.FTP工作模式

(1)主动模式

(2)被动模式

5.FTP实现

(1)wuftpd

(2)proftpd

(3)vsftpd

二、FTP服务的安装与配置

1.安装vsftpd软件包

2.安装FTP协议

3.重启FTP服务

4.防火墙规则

三、搭建匿名用户的FTP服务器

1.匿名用户

2.本地用户

3.虚拟用户模式

4.查看相关配置文件

5.和匿名用户有关的配置

6.配置实例

四、本地用户的FTP服务

1.添加账户

2.修改配置文件

(1)禁止匿名用户登录

(2)允许本地用户登录

(3)设置本地用户根目录

(4)本地用户权限是否限制

(5)激活chroot功能,锁定用户

(6)认证设置

3.重启服务

五、FTP服务器搭建实训

1.实训目的

2.项目背景

3.操作

 (1)设置匿名帐号具有上传、创建目录权限

(2)设置禁止本地user1用户登录ftp服务器。

 (3)设置本地用户user2登录FTP服务器之后,在进入dir目录时显示提示信息“welcome to user's dir!

(4)设置将所有本地用户都锁定在家目录中

(5)设置只有指定本地用户user1和user2可以访问FTP服务器

(6)配置基于主机的访问控制

(7)使用PAM实现基于虚拟用户的FTP服务器的配置。


一、FTP协议

1.介绍

FTP(文件传输协议)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输,客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。

FTP在文件传输的一个重要特定是支持断点续传

 

2.用处

进行web服务器的数据更新

经常需要共享软件或文件资料等信息

需要在不同的OS之间传输数据

文件尺寸较大,无法通过邮箱等工具传递的时候

3.FTP原理

一个完整的FTP文件传输需要要建立两种类型的连接

一种是控制连接21应用层端口识别,用于在服务器与客户端之间传输控制信息,如用户标识、口令、传输与操作,另一种是数据连接20,用于实际传输文件数据

4.FTP工作模式

主要解决防火墙对于数据阻塞的问题,在C-S,C端一般处于内网,处于防火墙隔离区域

(1)主动模式

S端主动向C端发送数据,不符合规则,可能会被拒绝,一般情况下不用。

(2)被动模式

C端主动向S端发送21邀请,S端向C端以随机端口来发送数据,是最常用的

5.FTP实现

(1)wuftpd

历史最悠久的非商业FTP服务器之一,安全性较差,但是稳定性好

(2)proftpd

易配置,速度快,源代码干净,安全性较高,但是不够稳定

(3)vsftpd

安全,告诉,稳定(集群),配置简单

二、FTP服务的安装与配置

1.安装vsftpd软件包

使用yum命令安装vsftpd

yum install -y vsftpd

在ftp-server节点虚拟机中配置本地yum仓库,yum源中使用的centos7系统镜像源

mkdir /iso

mount /dev/cdrom(sr0) /iso

vi /etc/yum.repos.d/local.repo

[local]

name = local

baseur = life:///iso

gpgcheck = 1

enable = 1

yum clean all

yum repolist

2.安装FTP协议

yum install -y ftp

3.重启FTP服务

systemctl restart vsftpd

systemctl enable vsftpd

4.防火墙规则

firewall-cmd --permanet --add-service=ftp

firewall-cmd --reload

firewall-cmd --list-add

三、搭建匿名用户的FTP服务器

权限设置问题——那些用户有访问ftp资源的权限

1.匿名用户

登录FTP服务器不需要任何口令和密码,一般只能下载资源,不能上传

FTP服务器上的资源主目录/var/ftp,匿名账账号为anonymous或FTP,密码为空或者FTP,账号和密码共用,对用户来讲不用设置

2.本地用户

需要本地的账号和密码认证,可以上传资源也可以下载资源,一旦密码被攻破,资源可以畅通无阻的使用

3.虚拟用户模式

认证用户和密码使用的专门FTP数据库映射临时性账号,可以上传可以下载,生产环境常用

4.查看相关配置文件

cd /etc/vsftpd

ls

ftpusers:用户的黑名单 把用户加入黑名单就不能够使用ftp服务

user_list 登录控制用户列表

userlist_deny=NO允许列表中的用户访问ftp服务

userlist_deny=YES(default,默认), 拒绝文件列表中的用户访问ftp服务器

vsftpd.conf ftp的主配置文件 用户登录权限控制 服务器功能 超时设置等配置

cat -n vsftpd.conf |grep -v "#"

5.和匿名用户有关的配置

anonymous_enable=YES # 开启匿名用户登录

local_enable=YES # 开启本地用户登录

write_enable=YES # 允许本地用户写入

local_umask=022 # 设置本地用户创建文件的umask值为022

dirmessage_enable=YES # 激活消息目录

xferlog_enable=YES # 是否启用日志

connect_from_port_20=YES # 主动模式端口为20

xferlog_std_format=YES # 将日志格式设置为标准格式

listen=NO # 不可同时将listen与listen_ipv6都设置为YES

listen_ipv6=YES # 允许IPv4或IPv6客户端的连接

pam_service_name=vsftpd # PAM(可插拔认证)服务的名称为vsftpd

userlist_enable=YES # 允许用户列表生效

tcp_wrappers=YES # 使用tcp_wrappers作为主机访问控制方式

anonymous_enable=YES # 开启匿名用户登录

anon_root=/var/ftp 共享目录指定

anon_upload_enable=YES 是否可以下载

anon_mkdir_write_enable=YES 是否可以创建文件目录

anon_other_write_enable=YES 是否可以删除或者重命名

6.配置实例

op1.修改主机用户名为你自己名字
[root@whp ~]# setenforce 0
[root@whp ~]# vi /etc/selinux/config
SELINUX=disabled

op2.创建共享目录与文件 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值