vsftpd服务的部署及优化

实验环境

server主机 :localhost192.168.3.15client主机 :foudation 66:192.168.3.14
selinux 关闭 火墙开启 dnf 安装设定完成 ,安装vsftpd服务,添加火墙策略firewall-cmd --permanent --add-service=ftp,firewall-cmd --reload火墙开启 selinux 关闭 dnf 安装设定完成,安装 lftp #ftp 协议文本浏览器

1.ftp 介绍

ftp:file transfer proto
互联阿中最老牌的文件传输协议

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;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

2.vsftpd 安 装 及 启 用

dnf install vsftpd -y ##安装vsftpd服务:在服务端
关闭 selinux diable 状态 ##服务端和客户端均设定为disabled状态
systemctl enable --now firewalld ###服务端和客户端的火墙均打开
systemctl enable --now vsftpd ##设置vsftpd服务开机自启动 :服务端

firewall-cmd --permanent --add-device=ftp
firewall-cmd --reload
firewalld -cmd --permanent --add-source=192.168.3.15 --zone=trusted

systemctl restart firewalld
vim /etc/vsftpd/vsftpd.conf ##服务端编辑vsftpd服务的主配置文件,进行设定,编辑完需要重启服务

anonymous_enable=YES ##启动匿名用户的访问功能
systemctl restart vsftpd

测试安装发布: firefox ftp://ip

lftp ip ##此访问方式必须能列出资源才算访问成功##在使用完成后请输入 exit 推出 lftp

3.vsftpd 基 本 信 息

服务名称vsftpd.service
配置目录:/etc/vsftpd
主配置文件:/etc/vsftpd/vsftpd.conf
默认发布目录:/var/ftp
报错信息:550 ##程序本身拒绝 553##文件系统权限限制 500##权限过大 530##认证失败
[root@westos_rh124_111 ftp]# ss -antlupe | grep vsftpd
tcp   LISTEN   0        32                       *:21                   *:*      users:(("vsftpd",pid=8688,fd=3)) ino:170973 sk:11 v6only:0 <->                 
[root@westos_rh124_111 ftp]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf   ##主配置文件

4.匿名用户访问控制

编辑主配置文件的信息,重启服务==
lftp 192.168.3.15 ##当访问 ftp 服务时没有加入用户认证为匿名访问
lftp 192.168.3.15 -u westos ##本地用户访问

登陆控制
server

vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES|NO
systemctl restart vdftpd

在这里插入图片描述

家目录控制
anon_root=/westos

server
在这里插入图片描述在这里插入图片描述client

在这里插入图片描述

凡是涉及目录的操作,如上传,看上传目录是否有写权限,更改目录权限,及组身份,

上传控制
server:
anon_upload_enable=YES|NO

vim /etc/vsftpd/vsftpd.conf 
systemctl restart vsftpd

在这里插入图片描述

在这里插入图片描述client
在这里插入图片描述

目录建立控制
server:
anon_mkdir_write_enable=YES|NO

在这里插入图片描述
client
在这里插入图片描述

下载控制
anon_world_readable_only=NO ##匿名用户可以下载不能读的文件

删除重命令控制
anon_other_write_enable=YES|NO

匿名用户上传文件权限设定
anon_umask=xxx
anon_umask=022 ##当设定 chown_username 之后上传文权限将不是用此参数设定

匿名用户上传文件的用户身份设定
chown_upload=YES chown_username=westos chown_upload_mode=0644

在这里插入图片描述

登陆数量控制: max_clients=2

client

在这里插入图片描述

上传速率控制
anon_max_rate=102400 ###上传速率在100k每秒左右
server

在这里插入图片描述client
在这里插入图片描述

5.本地用户的访问

登陆控制
useradd westos useradd lee
echo lee | passwd --stdin westos echo lee | passwd --stdin lee

lftp 192.168.3.15 -u westos
server
vim /etc/vsftpd/vsftpd.conf
local_enable=NO|YES 本地用户可以登录
systemctl restart vsftpd
client
在这里插入图片描述

家目录控制
server
vim /etc/vsftpd/vsftpd.conf
local_root=/westos
systemctl restart vsftpd
在这里插入图片描述
client
在这里插入图片描述

写权限控制
server
修改配置文件
write_enable=NO|YES
client

在这里插入图片描述

上传文件权限控制
local_umask=077

用户登陆控制
/etc/vsftpd/ftpusers ##永久黑
/etc/vsftpd/user_list ##默认黑 —>/etc/vstpd/vsftpd.conf中
userlist_deny=YES时|默认就是yes

用户登陆白名单
server
userlist_deny=NO #设定/etc/vsftpd/user_list 位白名单
#不在名单中的用户不能登陆 ftp
在这里插入图片描述重启服务
在这里插入图片描述
在这里插入图片描述

锁定用户到自己的家目录中
chmod u-w /home/* chroot_local_user=YES
在这里插入图片描述

锁定用户到自己的家目录中的白名单:只有白名单的用户不被锁定
server

chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list
在这里插入图片描述重启服务
在这里插入图片描述client
在这里插入图片描述

锁定用户到自己的家目录中的黑名单:黑名单中的用户被锁定
server
chroot_local_user=NO chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list
重启服务
westos用户被设置为锁定用户到自己的家目录中的黑名单,
在这里插入图片描述client
在这里插入图片描述

6.虚拟用户访问

6.1虚拟用户的建立

1.vim /etc/vsftpd/ftp_auth_ftpuserlist立认证文件模板
westos1  ##虚拟用户
123        ##密码
westos2 
123
westos3 
123

在这里插入图片描述

2.db_load -T -t hash -f ftp_auth_file ftp_auth_file.db ##加密认证文件 -T 转换 -t type - f 指定转换文件

在这里插入图片描述

3 建立认证策略】

vim /etc/pam.d/westosftpauth    
account		required  pam_userdb.so		db=/etc/vsftpd/ftpuserlist	
   auth     required  pam_userdb.so	    db=/etc/vsftpd/ftpuserlist

在这里插入图片描述

4在ftp服务的配置文件中使用的认证策略为上图设定的认证策略

.vim /etc/vsftpd/vsftpd.conf     
pam_service_name=westosftpauth	##指定认证策略文件
guest_enable=YES                     	##指定虚拟用户功能开启
guest_username=westos	         ##指定虚拟用户在 ftp 服务器上的用户身份

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

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

mkdir -p /ftpuserdir/westos{1…3}
touch /ftpuserdir/westos1/westos1file touch /ftpuserdir/westos2/westos2file touch /ftpuserdir/westos3/westos3file

vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserdir/$USER
user_sub_token=$USER

systemctl restart vsftpd

虚拟用户默认访问目录
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6.3用户配置独立

user_config_dir=/etc/vsftpd/user_config #在此目录中与用户名称相同的文件为用户配置文件
mkdir /etc/vsftpd/user_config
vim /etc/vsftpd/user_config/westos2 anon_upload_enable=YES

设定完成后 westos2 用户可以上传文件
westos1 和 westos3 不行
server

1.修改默认目录的权限。

[root@westos_rh124_111 vsftpd]# chmod 775 /westosdir/westos*/pub
[root@westos_rh124_111 vsftpd]# chgrp westos /westosdir/westos*/pub
[root@westos_rh124_111 vsftpd]# ls -ld /westosdir/westos*/pub
drwxrwxr-x 2 root westos  6 Aug 14 04:49 /westosdir/westos1/pub
drwxrwxr-x 2 root westos 20 Aug 14 21:46 /westosdir/westos2/pub
drwxrwxr-x 2 root westos  6 Aug 14 04:49 /westosdir/westos3/pub
2.关闭主配置文件的上传功能
anon_upload_enable=NO
3.设置上传用户白名单
[root@westos_rh124_111 vsftpd]# mkdir confdir
[root@westos_rh124_111 vsftpd]# cd confdir/
[root@westos_rh124_111 confdir]# vim westos2 
[root@westos_rh124_111 confdir]# cat /etc/vsftpd/confdir/westos2   ##同名文件的用户可以上传
anon_upload_enable=YES
[root@westos_rh124_111 vsftpd]# tail -n 7 /etc/vsftpd/vsftpd.conf 
pam_service_name=westosftpauth
guest_enable=YES
guest_username=westos
userlist_enable=YES
local_root=/westosdir/$USER
user_sub_token=$USER
user_config_dir=/etc/vsftpd/confdir     ####与文件同名的用户可以上传
[root@westos_rh124_111 vsftpd]# systemctl restart vsftpd

client

only westos2 upload

[root@localhost Desktop]# lftp 172.25.254.111 -u westos3
Password: 
lftp westos3@172.25.254.111:~> ls                  
drwxr-xr-x    2 0        1000            6 Aug 14 08:49 pub
drwxr-xr-x    2 0        0               6 Aug 14 08:50 westos3file
lftp westos3@172.25.254.111:/> cd pub/
lftp westos3@172.25.254.111:/pub> ls
lftp westos3@172.25.254.111:/pub> put /etc/passwd    ##westos3用户不能上传文件
put: /etc/passwd: Access failed: 553 Could not create file. 

lftp westos3@172.25.254.111:/pub> quit
[root@localhost Desktop]# lftp 172.25.254.111 -u westos2      ##westos2用户可以上传文件
Password: 
lftp westos2@172.25.254.111:~> ls                  
drwxrwxr-x    2 0        1000            6 Aug 14 08:49 pub
drwxr-xr-x    2 0        0               6 Aug 14 08:50 westos2file
lftp westos2@172.25.254.111:/> cd pub/
lftp westos2@172.25.254.111:/pub> put /etc/passwd
2576 bytes  transferred


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值