vsftpd服务的部署

1.ftp介绍

ftp:(File Transfer Protocol,文件传输协议) FTP 是 TCP/IP 协议组中的协议之一,互联阿中最老牌的文件传输协议。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。

2.vsftpd安装

2.1搭建软件仓库
vsftpd服务的部署_第1张图片


2.2关闭selinux 关闭firewalld
vsftpd服务的部署_第2张图片
vsftpd服务的部署_第3张图片
vsftpd服务的部署_第4张图片


2.3安装vsftpd
vsftpd服务的部署_第5张图片
vsftpd服务的部署_第6张图片
vsftpd服务的部署_第7张图片
vsftpd服务的部署_第8张图片
vsftpd服务的部署_第9张图片


2.4 在资源主机建立共享目录,并存放软件资源:
firefox ftp://ip
lftp ip ##此访问方式必须能列出资源才算访问成功
在这里插入图片描述
vsftpd服务的部署_第10张图片
vsftpd服务的部署_第11张图片

vsftpd服务的部署_第12张图片
2.5 测试安装发布:
vsftpd服务的部署_第13张图片
vsftpd服务的部署_第14张图片
vsftpd服务的部署_第15张图片
vsftpd服务的部署_第16张图片


3.vsftpd基本信息

服务名称: vsftpd.service
配置目录: /etc/vsftpd
主配置文件: /etc/vsftpd/vsftpd.conf
默认发布目录: /var/ftp

报错信息 原因
550 程序本身拒绝
553 文件系统权限限制
500 权限过大
530 认证失败

4.匿名用户访问控制

lftp 192.168.2.11 当访问ftp服务时没有加入用户认证为匿名访问
lftp 192.168.2.11 -u westos 本地用户访问

vsftpd服务的部署_第17张图片
vsftpd服务的部署_第18张图片


实验:以下内容在vsftpd主配置文件中更改
vsftpd服务的部署_第19张图片
4.1 登陆控制—— anonymous_enable=YES|NO

vsftpd服务的部署_第20张图片
在这里插入图片描述


4.2 家目录控制—— anon_root=/software
vsftpd服务的部署_第21张图片

vsftpd服务的部署_第22张图片

vsftpd服务的部署_第23张图片


4.3 上传控制——anon_upload_enable=YES|NO

vsftpd服务的部署_第24张图片
在这里插入图片描述
vsftpd服务的部署_第25张图片
vsftpd服务的部署_第26张图片


4.4 下载控制——anon_world_readable_only=NO ##匿名用户可以下载不能读的文件
vsftpd服务的部署_第27张图片
vsftpd服务的部署_第28张图片


4.5 目录建立控制 ——anon_mkdir_write_enable=YES|NO
vsftpd服务的部署_第29张图片
vsftpd服务的部署_第30张图片


4.6 删除重命令控制——anon_other_write_enable=YES|NO
vsftpd服务的部署_第31张图片
vsftpd服务的部署_第32张图片


4.7 登陆数量控制——max_clients=2
vsftpd服务的部署_第33张图片
vsftpd服务的部署_第34张图片


4.8 上传速率控制——anon_max_rate=102400
vsftpd服务的部署_第35张图片
vsftpd服务的部署_第36张图片
vsftpd服务的部署_第37张图片


5.本地用户的访问

lftp 192.168.0.11 -u red
5.1 登陆控制——local_enable=NO|YES
vsftpd服务的部署_第38张图片
vsftpd服务的部署_第39张图片


5.2 家目录控制——local_root=/software
vsftpd服务的部署_第40张图片
vsftpd服务的部署_第41张图片


5.3 写权限控制——write_enable=NO|YES
vsftpd服务的部署_第42张图片
vsftpd服务的部署_第43张图片
vsftpd服务的部署_第44张图片


5.4 上传文件权限控制——local_umask=077
vsftpd服务的部署_第45张图片
vsftpd服务的部署_第46张图片


5.5 用户登陆控制
/etc/vsftpd/ftpusers ##用户登录控制永久黑名单
永久黑名单无论怎样设定都是黑名单,从名单中删除可以解锁
vsftpd服务的部署_第47张图片


/etc/vsftpd/user_list ##用户登录控制默认黑名单
默认黑名单可以变为白名单(见下图)
vsftpd服务的部署_第48张图片


5.6 用户登陆白名单——userlist_deny=NO
设定/etc/vsftpd/user_list为白名单
不在名单中的用户不能登陆ftp
vsftpd服务的部署_第49张图片


5.7 锁定用户到自己的家目录中——chroot_local_user=YES
chmod u-w /home/* 避免与下面命令冲突
chroot_local_user=YES锁定用户到自己家目录
为了防止用户登录到跟目中中,需要把他锁定在家目录里 vsftpd服务的部署_第50张图片
vsftpd服务的部署_第51张图片
vsftpd服务的部署_第52张图片


5.8 锁定用户到自己的家目录中的白名单
chroot_local_user=YES锁定用户到自己家目录
chroot_list_enable=YES开启锁定家目录白名单
chroot_list_file=/etc/vsftpd/chroot_list
vsftpd服务的部署_第53张图片vsftpd服务的部署_第54张图片
vsftpd服务的部署_第55张图片
vsftpd服务的部署_第56张图片


5.9 锁定用户到自己的家目录中的黑名单
chroot_local_user=NO默认用户不锁定到自己家目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
vsftpd服务的部署_第57张图片

vsftpd服务的部署_第58张图片
vsftpd服务的部署_第59张图片
vsftpd服务的部署_第60张图片


6.虚拟用户访问

普通用户登录ftp会有资源浪费和开放权力过大的隐患,只需要借助ftp身份不需要开放过多的权限。因此可以为ftp服务来构建用户信息而不使用系统信息。虚拟用户即在当前系统中没有用户身份,在ftp程序中才承认这个身份。
ftp服务在用户登录时,有pam插件在用户名和密码与单名保持一致时允许登录。
vsftpd服务的部署_第61张图片
vsftpd服务的部署_第62张图片
虚拟用户也需要建立对应的用户和密码。

6.1 建立虚拟用户过程

1.建立认证文件模板——vim /etc/vsftpd/ftp_auth_file
vsftpd服务的部署_第63张图片


2.加密认证文件——db_load -T -t hash -f ftp_auth_file ftp_auth_file.db
(-T 转换; -t type; -f 指定转换文件;文件以.db结尾)
vsftpd服务的部署_第64张图片
vsftpd服务的部署_第65张图片


3.生成pam认证策略——vim /etc/pam.d/westos
vsftpd服务的部署_第66张图片


4.指定认证策略文件——vim /etc/vsftpd/vsftpd.conf
vsftpd服务的部署_第67张图片
在这里插入图片描述


5.测试在这里插入图片描述
vsftpd服务的部署_第68张图片


6.2 虚拟用户家目录的独立设定

1.建立虚拟用户家目录
vsftpd服务的部署_第69张图片
2.指定虚拟用户家目录
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserdir/$USER user_sub_token=$USER
systemctl restart vsftpd

vsftpd服务的部署_第70张图片
vsftpd服务的部署_第71张图片
3.测试
vsftpd服务的部署_第72张图片


6.3 虚拟用户配置独立

user_config_dir=/etc/vsftpd/user_config #在此目录中与用户名称相同的文件为用户配置文件
mkdir /etc/vsftpd/user_config
vim /etc/vsftpd/user_config/red2
anon_upload_enable=YES
设定完成后red2用户可以上传文件 red1和red3不行
vsftpd服务的部署_第73张图片
vsftpd服务的部署_第74张图片

vsftpd服务的部署_第75张图片


vsftpd服务的部署_第76张图片

vsftpd服务的部署_第77张图片
在这里插入图片描述

vsftpd服务的部署_第78张图片

你可能感兴趣的:(linux,运维,服务器)