FTP服务

  • Post author:
  • Post category:其他




一、 FTP服务


FTP的定义

ftp定义:ftp:// ##文件传输协议
FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一
FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端
其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源
在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上
由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议
默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息
但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关
如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定
同大多数Internet服务一样,FTP也是一个客户/服务器系统
用户通过一个客户机程序连接至在远程计算机上运行的服务器程序
依照 FTP协议提供服务,进行文件传送的计算机就是FTP服务器
而连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端
用户要连上FTP服务器,就要用到FTP客户端软件,通过lftp命令连接



二、配置ftp服务


步骤一:

打开server虚拟机,并且reset,保证一个纯净的实验环境

==步骤二:==给server配置网络

在这里插入图片描述

==步骤三:==给server主机改名

在这里插入图片描述


步骤四:

配置本地yum源

由于server主机是7.0系统所以需要使用7.0的镜像配置yum源

在这里插入图片描述

在这里插入图片描述
yum源配置成功。


步骤五:


vim /etc/sysconfig/selinux 关闭内核加强型防火墙,改SELINUX=disabled

在这里插入图片描述


步骤六:

reboot重启后输入,getenforce命令,发现是Disabled即可

在这里插入图片描述


步骤七:


给防火墙中加入ftp服务

在这里插入图片描述


####为什么使用ftp######

ftp在文件传输方面很优秀,企业中常用的是vsftpd(安全性高)
http://  ftp://
yum search ftp 可以找到安装ftp服务的软件包


######ftp服务的基本信息#####

软件安装包 vsftpd
默认发布目录 var/ftp
默认发布目录的子目录 /var/ftp/pub/
协议接口 21/tcp
服务i配置文件 /etc/vsftpd/vsftpd.conf


##########报错id的解析#####

500 文件系统权限过大
530 用户认证失败
550 服务本身功能未开放
553 本地文件系统权限过小


########搭建ftp服务器,以及进行测试######



步骤一:

寻找安装ftp的安装包

在这里插入图片描述


步骤二:

yum install 安装vsftpd和lftp

在这里插入图片描述


步骤三:

设置开启vsftpd服务,以及开机启动

在这里插入图片描述


步骤四:

访问验证是否搭建成功

在这里插入图片描述



三、vsftpd服务配置参数

主机以什么样的身份配置ftp服务器,这些都需要在ftp服务器的客户端配置文件里面配置
在配置文件/etc/vsftpd/vsftpd.conf当中修改参数,每次修改后需要重启服务才能生效
systemctl restart vsftpd



1、匿名用户设定


匿名用户登陆限制


在这里插入图片描述

可以看到匿名用户可以访问ftp服务器


当在配置文件里改了参数后,重启服务


在这里插入图片描述

在这里插入图片描述

发现匿名用户不可以访问ftp服务器

在这里插入图片描述


匿名用户上传


在这里插入图片描述

发现不可以上传,报错550,然后编辑配置文件,开启功能

在这里插入图片描述

在这里插入图片描述


重启服务,再次上传


在这里插入图片描述

在这里插入图片描述

报错553,表示权力过小

然后chgrp ftp /var/ftp/pub


chmod 775 /var/ftp/pub 因为匿名用户是以ftp用户的身份访问ftp服务器的,所以将ftp目录的所有组改成ftp以及赋予它775较大的权限,这样匿名用户才可以上传


在这里插入图片描述

在这里插入图片描述

发现已经可以上传了。

如果你将权限改成了777
在这里插入图片描述

匿名用户登陆的时候,访问ftp服务器会提示500权限过大,所以我们只给775的权限,chmod 775 /var/ftp/

在这里插入图片描述


匿名用户家目录修改


匿名用户默认的家目录在/var/ftp/下,现在想要更改它的默认家目录,在配置文件里写下

在这里插入图片描述

然后退出保存,

重启服务


在/westos下建立5个file,cd进入,ls查看存在

再次匿名登陆,ls查看,更改成功

在这里插入图片描述


匿名用户上传文件默认权限修改

在这里插入图片描述

匿名用户默认上传文件 600,在配置文件里修改,

重启服务


在这里插入图片描述

在这里插入图片描述

可以看出文件的权限已经更改,passwd权限644.


匿名用户建立目录


anon_mkdir_write_enable=YES|NO

在这里插入图片描述


匿名用户下载


在这里插入图片描述

NO表示匿名用户可以下载


重启服务


在这里插入图片描述

文件下载到桌面下了

在这里插入图片描述

在这里插入图片描述

下载目录,用mirror命令

在这里插入图片描述


匿名用户删除


anon_other_write_enable=YES|NO

在这里插入图片描述


重启服务


在这里插入图片描述


匿名用户使用的用户身份修改


chown_uploads=YES

chown_username=student

在这里插入图片描述


重启服务


可以看到用户id是1000,1000是student用户的id

在这里插入图片描述


最大上传速率


anon_max_rate=102400

在这里插入图片描述

在这里插入图片描述

我们先划一个1.5G的文件,然后在没有限制速度的情况下,上传速度非常快平均83.2M/s,然后更改完配置文件后重新启动服务,发现匿名用户上传的速度变成了设置的102400k左右。


最大连接数


max_clients=2

设置最大连接为2

在这里插入图片描述

在这里插入图片描述

第一个,第二个都可以登陆,第三个客户端就不行了。



2、本地用户设定


本地用户登陆限制


在这里插入图片描述

student用户可以登陆且访问

在配置文件中,修改

在这里插入图片描述


重启服务


在这里插入图片描述

在这里插入图片描述
本地用户就不可以登陆了。


本地用户写权限限制


在这里插入图片描述

编辑配置文件

在这里插入图片描述


重启服务


在这里插入图片描述

在这里插入图片描述


本地用户家目录修改


local_root=/yty

重启服务


在这里插入图片描述

在这里插入图片描述

先在student用户的家目录下创建file{1…3},再创建一个新的/yty目录当作修改的家目录,然后创建file{1…10}

在这里插入图片描述
家目录修改完成。


本地用户上传文件权限


local_umask=
在这里插入图片描述


重启服务


在这里插入图片描述

可见我们上传的/etc/group的权限是600


限制本地用户浏览/目录


chroot_local_user=YES

chmod u-w /home/student

用户被锁定在家目录中不能cd切换到/目录下

在这里插入图片描述

在这里插入图片描述



3、用户的黑白名单


本地用户黑名单建立


chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list


重启服务


建立两个新用户westos,lee,并给与密码

在这里插入图片描述

在这里插入图片描述

vim /etc/vsftpd/chroot_list 黑名单加入westos和student,表示westos和student不能登陆

在这里插入图片描述

测试:

student不能登陆

在这里插入图片描述

westos不能登陆

在这里插入图片描述

lee可以登陆

在这里插入图片描述


本地用户白名单建立


chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

重启服务


在这里插入图片描述

白名单加入westos和student,表示westos和student可以登陆,其他用户都不能登陆

student可以登陆

在这里插入图片描述

westos可以登陆

在这里插入图片描述

lee不能登陆

在这里插入图片描述

==限制本地用户登陆(永久)

vim /etc/vsftpd/ftpusers ##用户黑名单

在这里插入图片描述

cd /etc/vsftpd/ 然后 vim ftpusers,加入student用户

在这里插入图片描述

在这里插入图片描述

黑名单设置成功


用户临时黑名单


vim /etc/vsftpd/user_list

在这里插入图片描述

加入westos用户,表示westos用户不能访问ftp服务器

在这里插入图片描述

student用户和lee用户可以

在这里插入图片描述

在这里插入图片描述


用户白名单设定


userlist_deny=NO

/etc/vsftpd/user_list ##参数设定,此文件变成用户白名单,只在文件中出现的用户才可以登陆ftp服务器

在这里插入图片描述


重启服务


在这里插入图片描述

可见在名单中的westos用户可以登陆

在这里插入图片描述

而不在白名单的lee和student用户就不可以登陆ftp服务器

在这里插入图片描述

在这里插入图片描述



四、ftp虚拟用户的设定



1.创建虚拟帐号身份


ftp虚拟用户的设定(创建虚拟帐号身份)

给ftp服务器创建虚拟帐号身份,这样更安全。
vim /etc/vsftpd/westosfile ##文件名称任意,创建一个虚拟帐号的名单,里面的帐号是不存在的

vim /etc/vsftpd/westosfile

文件名称任意

设定虚拟用户和登陆密码

在这里插入图片描述

在这里插入图片描述

db_load  加密命令
-T 转换
-t 建立
-f 指定文件
/etc/vsftpd/westosfile被加密文件
/etc/vsftpd/westosfile.db加密的文件

查看vsftpd.conf认证时用的是pam认证

在/etc/pam.d/下创建westos(

文件名称任意

)对应westosfile

在这里插入图片描述

在这里插入图片描述

account auth 帐号和密码
required 请求访问允许或拒绝
pam_userdb.so 验证程序
db=/etc/vsftpd/westosfile(.db) 在该文件里面验证

在这里插入图片描述

在这里插入图片描述

将pam_service_name的指向改为westos原本(vsftpd),使westos中的账户和密码生效,再加入guest_enable=YES 允许游客登陆


重启服务


然后分别用user1,user2,user3登陆均可以登陆ftp服务器

并且是已匿名用户的虚拟帐号,默认家目录在/var/ftp/



2、虚拟帐号身份指定

vim /etc/vsftpd/vsftpd.conf

在这里插入图片描述


重启服务


chmod u-w /home/lee 给虚拟用户去掉写权限

在这里插入图片描述

在lee用户家目录下创建file

在这里插入图片描述

lftp 172.25.254.115 -u user1 匿名用户登陆ftp服务器,可以看到家目录下的文件file,即以lee身份登陆

在这里插入图片描述



3、虚拟帐号家目录独立设定


虚拟帐号家目录独立设定

(使虚拟用户登陆进去不再使ftp用户的默认家目录)

mkdir /ftphome/user1/user1dir -p

mkdir /ftphome/user2/user2dir -p

在这里插入图片描述

在这里插入图片描述

chmod 775 /ftphome/user1/user1dir

chmod 775 /ftphome/user2/user2dir

在这里插入图片描述

vim /etc/vsftpd/vsftpd.conf

在这里插入图片描述


重启服务


在这里插入图片描述

验证,此时可以看到此时user1的家目录是他自己家目录



4、虚拟帐号独立配置


虚拟帐号独立配置(想让哪个用户干什么就干什么)


vim /etc/vsftpd/vsftpd.conf

user_config_dir=/etc/vsftpd/userconf

在这里插入图片描述


重启服务


mkdir -p /etc/vsftpd/userconf

vim /etc/vsftpd/userconf/user1 ==在此文件中设定配置文件的参数,此文件的优先级最高。

在这里插入图片描述

在这里插入图片描述

此文件设定的参数,此文件的优先级最高

允许user1 匿名上传

在这里插入图片描述

上传成功。

再试一下user2可不可以上传

在这里插入图片描述

发现也可以,是因为之前的anon_upload_enable=YES没有变成NO

vim /etc/vsftpd/vsftpd/conf

在这里插入图片描述


重启服务


发现user2不能上传文件了

在这里插入图片描述

再用user1登陆,发现user1仍可以上传文件

在这里插入图片描述

配置成功。



版权声明:本文为Rapig1原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。