FTP服务

一、 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仍可以上传文件
在这里插入图片描述
配置成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值