ftp服务原理与基本配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ftp服务原理与基本配置相关的知识,希望对你有一定的参考价值。

ftp是一种文件传输协议,分为主动模式与被动模式
主动模式基本原理:

主动:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。
技术分享图片

被动模式基本原理:

被动:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。
技术分享图片


搭建ftp服务过程
1、安装服务,并进行火墙操作

在搭建好yum源的前提下,进行
yum install vsftpd -y
setenforce 0
firewalld-cmd --permanent --add-service=ftp
firewalld-cmd --reload
systemctl start vsftpd

2、配置ftp服务


1、修改匿名用户登陆的家目录
anon_root=/ftpdirhaha #将匿名用户登陆的新目录进行建立
重启服务
技术分享图片


2、匿名用户与本地用户是否可以登陆
anonymous_enable=YES | NO
YES表示匿名用户可以登陆,NO表示匿名用户不可以进行登陆
local_enable=YES | NO
YES表示本地用户可以登陆,NO表示本地用户不可以进行登陆
若登陆不成功,则显示的是这样的界面
技术分享图片


3、本地用户是否可以进行上传
前提是将write_enable=YES (将本地用户可写打开)
anon_upload_enable=YES 表示支持本地用户可以上传文件
因为本地用户上传的目录是/var/ftp/pub目录,所以要将此目录给以相应的权限。
匿名用户使用的是ftp用户,所以再次将此目录给以这样的权限
chgrp ftp /var/ftp pub
chmod 775 /var/ftp/pub
技术分享图片


4、匿名用户进行下载
anon_world_readable_only=YES|NO(设定参数为NO表示匿名用户可以下载)
技术分享图片


5、对匿名用户下载进行限速处理
anon_max_rate=102400 #控制速度在100kb左右
实验为往ftp服务器上上传文件,所以要将anon_upload_enable=YES参数打开
不限速的实验效果
技术分享图片
进行限速后的实验效果
技术分享图片
速度是控制在100k左右


6、本地用户与匿名用户上传文件的权限
local_umask=022 #值越大,安全级别越高
anon_umask=077技术分享图片
本地用户的权限是644
技术分享图片
匿名用户的权限是600


7、将本地用户锁在家目录中
chroot_local_user=YES
chmod u-w /home/* #不进行此不操作会出现权限过大的报错


8、虚拟用户的设置
步骤:
(1)在/etc/vsftpd/创建一个保存虚拟用户名与密码的文件
技术分享图片
(2)对此文件进行加密
db_load -T -t hash -f userdb userdb.db
-T 表示进行转换
-t hash 表示进行hash加密
-f 表示原文件是userdb文件
(3)修改配置文件
vim /etc/vsftpd/vsftpd.conf
pam_service_name=ftpuser
此模块是一个认证的模块,源文件写的是vsftp,将此改变,表示让服务去读取重新写入的ftpuser的认证模块
guest_enable=YES #使用guest的身份进行登陆
guest_username=ftp #是guest_enable参数必须设置的一个参数使用ftp身份
local_root=/vftphome/$USER
user_sub_token=$USER
(4)写入自定义的认证模块
[[email protected] user3]# cat /etc/pam.d/ftpuser
account required pam_userdb.so db=/etc/vsftpd/userdb
auth required pam_userdb.so db=/etc/vsftpd/userdb
(5)测试
技术分享图片

以上是关于ftp服务原理与基本配置的主要内容,如果未能解决你的问题,请参考以下文章

FTP原理与配置

FTP 服务器搭建与配置

FTP服务器的配置与管理

详解“FTP文件传输服务”安装配置实例

Linux网络——FTP原理及配置

http上传下载和ftp上传下载的原理一样吗?有啥差别?