从小白到大神之路之学习运维第26天

文章详细介绍了Linux环境下FTP服务器的配置和管理,包括vsftpd服务的安装、基本概念如命令连接与数据连接、端口分配以及工作模式。此外,还深入讲解了匿名用户和本地用户的身份验证过程,如匿名用户上传文件、创建目录的权限设置,以及本地用户登录、写入权限和目录禁锢等安全措施。最后,提到了本地用户使用被动模式传输文件的配置与验证。
摘要由CSDN通过智能技术生成

第二阶段基础

时  间:2023年5月22日

参加人:全班人员

内  容:

文件共享服务器之FTP服务

目录

一、基本信息

二、安装配置

匿名用户验证:

本地用户验证:

本地用户访问控制:


一、基本信息

(一)概述

FTP:file transfer protocol  文件传输协议

linux下最常见的文件服务器,工作于应用层,实现文件传输

(二)FTP连接类型

命令连接:客户端发起请求,服务器响应

默认一直保持连接

数据连接:按需打开,按需关闭,与命令连接相关联

有可能同时打开多个数据连接

(三)端口

控制连接:TCP/21

数据连接:20/随机端口

(四)工作模式

主动模式:

1、客户端用端口n连接服务器端的21号端口,建立连接并使用PORT命令告知服务器开启了n+1端口

2、连接建立后,服务器使用20端口主动向客户端的n+1端口发送连接,以建立数据连接

被动模式:

1、客户端使用端口n连接FTP的21号端口,告知服务器使用被动模式

2、控制连接建立后,服务器建立端口P,使用PASV命令并告知客户端

3、客户端收到端口P后,使用n+1端口连接FTP的P端口,建立数据连接

二、安装配置

(一)服务名:vsftpd

(二)主配置文件 /etc/vsftpd/vsftpd.conf

(三)用户控制文件

/etc/vsftpd/ftpusers

/etc/vsftpd/user_list

(四)用户验证类型

匿名用户是一种最不安全的模式,任何人都可无需密码验证而直接登录到FTP服务器

本地用户是通过linux系统本地的账号密码进行验证登录,相比较匿名开放模式更安全,配置也比较简单。

虚拟用户没有权限登录系统的用户一般也被称之为虚拟用户,虚拟用户实际上就是去掉了登录SHELL权限的用户,它没有能力登录系统,但可以进行其他任何操作。同时,管理员也可以对这些虚拟用户的权限做出设定,保证系统不被恶意攻击。

(五)安装

服务器安装vsftpd软件(yum -y install vsftpd)

客户端安装ftp,否则无法使用ftp命令(yum -y install ftp)

登录时,直接使用ftp命令加上服务器IP地址

匿名用户验证

例:(前提配置,防火墙关闭,yum安装,同模式vmware11)

现有一台计算机huyanggw(视作服务端),IP地址为192.168.50.1,安装了vsftpd服务,并启动

另一台计算机hy02(视为客户端),IP地址为192.168.50.50,安装了ftp服务

1:使用hy02计算机操作:ftp 1920.168.50.1 可进入

Name=ftp  passwd:enter(回车)  exit退出

2:验证是否允许匿名用户上传文件

anon_upload_enable=[YES|NO]

操作:cd /etc/vsftpd---ll---vim vsftpd.conf

启动服务:systemctl start vsftpd

可以发现默认配置为关闭状态,打开,删除#

进入到/var/ftp,查看

为pub赋予其他人权限chmod 777 pub

匿名用户客户端建立文件aaa.txt

ftp 192.168.50.1

ftp  回车

cd pub ->put aaa.txt->ls查看aaa.txt已经在目录下

3:验证是否允许匿名用户创建目录

anon_mkdir_write_enable=[YES|NO]

操作:设置anon_mkdir_write_enable=YES

wq保存退出,重启服务systemctl restart vsftpd

客户端进入ftp,可以建立a300文件夹

4:验证是否开放匿名用户的其他写入权限(删除、改名) anon_other_write_enable=[YES|NO]

操作: anon_other_write_enable=YES

wq保存退出,重启服务systemctl start vsftpd

客户端进入ftp,将1.txt删除

delete 1.txt   或者  del1.txt

本地用户验证

例:(前提配置,防火墙关闭,yum安装,同模式vmware11)

现有一台计算机huyanggw(视作服务端),建立普通用户a1,a2,a3,IP地址为192.168.50.1,安装了vsftpd服务,并启动

另一台计算机hy02(视为客户端),IP地址为192.168.50.50,安装了ftp服务

可选配置项

local_enable=[YES|NO] 是否允许本地用户登录FTP

local_umask=022 本地用户上传文件的umask值

local_root=/var/ftp 本地用户的FTP根目录

chroot_local_user=[YES|NO] 是否将用户权限禁锢在FTP目录,确保安全

allow_writeable_chroot=YES 是否允许写入

chroot_list_enable=YES|NO 是否启用chroot_list_file

在/etc/vsftpd/chroot_list文件中列出被不限制的用户的列表chroot_list_file=/etc/vsftpd/chroot_list

1:验证是否允许本地用户登录FTP

local_enable=[YES|NO]

操作:默认为YES,直接验证,可以登陆

ftp 192.168.50.1 name=a1  passwd=密码  回车

且umask=022

2:验证是否允许写入、删除

allow_writeable_chroot=YES

操作:添加allow_writeable_chroot=YES,wq保存退出,重启服务systemctl restart vsftpd

删除文件,del 文件名

删除目录,rmdir 文件名

3:验证是否将用户权限禁锢在FTP目录,确保安全

local_root=/var/ftp 本地用户的FTP根目录

chroot_local_user=[YES|NO]

操作:添加chroot_local_user=YES,

删除local_root=/var/ftp的#注释,wq保存退出,

重启服务systemctl restart vsftpd

设置后显示为“/”,不可以切换目录

设置前显示为“/var/ftp”,可以切换目录

4:验证是否启用chroot_list_file以不限制用户列表

chroot_list_enable=YES|NO  是否启用chroot_list_file

在/etc/vsftpd/chroot_list文件中列出被不限制的用户的列表chroot_list_file=/etc/vsftpd/chroot_list

操作:添加chroot_list_enable=YES,

在新建chroot_list目录

在chroot_list添加a1用户,验证是否a1是否可以切换,目录,若可以,验证成功,否则验证失败

重启服务systemctl restart vsftpd

ftp 192.168.50.1

a1  密码 回车  

pwd查看当前路径  

cd /etc 切换路径                  切换成功

ftp 192.168.50.1

a2  密码 回车  

pwd查看当前路径  

cd /etc 切换路径   切换失败       验证成功

本地用户访问控制:

userlist_enable=YES

userlist_deny=YES

不允许/etc/vsftpd/user_list

文件中出现的用户名登录FTP

userlist_enable=YES

userlist_deny=NO

仅允许/etc/vsftpd/user_list文件中出现的用户名登录FTP

ftpusers

不允许/etc/vsftpd/ftpusers文件中出现的用户名登录FTP,无论user_list如何设置

1:验证userlist_enable=YESuserlist_deny=YES

不允许/etc/vsftpd/user_list文件中出现的用户名登录FTP

操作:vim /etc/vsftp/vsftp.conf

添加userlist_enable=YES、userlist_deny=YES

vim  /etc/vsftp/vsftp.conf   输入a1   wq保存退出

重启服务systemctl restart vsftpd

验证a1用户是否可以登录ftp,若不可以,验证成功;

否则失败                                   验证成功

2:验证userlist_enable=YES     userlist_deny=NO

仅允许/etc/vsftpd/user_list文件中出现的用户名登录FTP

操作:vim /etc/vsftp/vsftp.conf

添加userlist_enable=YES、userlist_deny=NO

wq保存退出   重启服务systemctl restart vsftpd

验证a1,a2用户是否可以登录ftp,若a1可以a2不可以,验证成功;若a2可以a1不可以,则验证失败   验证成功

3:验证ftpusers

userlist_enable=YESuserlist_deny=YES

不允许/etc/vsftpd/ftpusers文件中出现的用户名登录FTP,无论user_list如何设置

操作:vim ftpusers 输入a1

wq保存退出   重启服务systemctl restart vsftpd

验证a1,a2用户是否可以登录ftp,若a2可以a1不可以,验证成功;若a1可以a2不可以,则验证失败    验证成功

4:验证ftpusers  优先级是否高于userlist_deny=YES

操作:vim ftpusers 输入a1

wq保存退出   重启服务systemctl restart vsftpd

验证a1,a2用户是否可以登录ftp,若a1,a2均不可以,验证成功;若a1仍然可以,则验证失败        验证成功

本地用户使用被动模式传输

配置项

pasv_enable=YES 启用被动模式

pasv_min_port=2001 被动模式使用的最小端口号

pasv_max_port=2005 被动模式使用的最大端口号

验证

服务器主配置文件添加上述3条记录

客户端下载文件时,查看端口号

操作:

vim /etc/vsftpd/vsftpd.conf   

输入pasv_enable=YES

pasv_min_port=3001

pasv_max_port=3005

wq保存退出   重启服务systemctl restart vsftpd

查看当前端口状态  netstat -anptl

客户端操作:

ftp 192.168.50.1

a1  密码 回车  

而后回到服务端 查看当前端口状态  netstat -anptl

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

人间打气筒(Ada)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值