0
点赞
收藏
分享

微信扫一扫

Vsftpd服务的部署及优化

勇敢乌龟 2022-02-22 阅读 59

实验环境

1.server主机:

westos_node1
# 172.25.254.250
# selinux关闭
# 火墙开启
# dnf安装设定完成
#

2.client主机:

# westos_linux
# 172.25.254.100
# selinux关闭
# dnf安装设定完成
# 安装lftp #ftp协议文本浏览器

请添加图片描述
需要真机新建目录,挂载到目录上,本地仓库搭建,下载httpd,然后第三方仓库搭建。虚拟机nodea上直接搭建第三方软件仓库,地址是真机的地址。真机部分详见软件仓库那节,虚拟机如下图
请添加图片描述
请添加图片描述
能列出vsftpd说明软件仓库已经搭好了。
重点:关闭selinux
请添加图片描述

1.ftp介绍

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

2.vsftpd安装及启用

dnf install vsftpd -y #server
dnf install lftp -y #client
关闭selinux
systemctl disable --now firewalld 
vim /etc/vsftpd/vsftpd.conf
12 anonymous_enable=YES ##启动匿名用户的访问功能
systemctl restart vsftpd 

请添加图片描述
请添加图片描述
请添加图片描述
但是我们不能浏览ftp:172.25.254.100
请添加图片描述
请添加图片描述
然后就可以浏览了,下图是如何使用ftp。
请添加图片描述
测试安装发布:
firefox ftp://ip
lftp ip ##此访问方式必须能列出资源才算访问成功
##在使用完成后请输入exit推出lftp

3.vsftpd基本信息

服务名称:
vsftpd.service
配置目录:
/etc/vsftpd
主配置文件:
/etc/vsftpd/vsftpd.conf
默认发布目录:
/var/ftp
报错信息:
550 ##程序本身拒绝
553 ##文件系统权限限制
500 ##权限过大
530 ##认证失败

4.匿名用户访问控制

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

1.登陆控制

anonymous_enable=YES|NO

2.家目录控制

anon_root=/westosdir
请添加图片描述
请添加图片描述
结果:
请添加图片描述
修改匿名用户的登陆位置。

3.上传控制

anon_upload_enable=YES|NO

chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub
lftp 192.168.0.100
cd pub
put /etc/passwd

上传被拒绝。
请添加图片描述
请添加图片描述
请添加图片描述
更改之后,发现没有权限。需要更改她的所有组,然后给权限。请添加图片描述

4.目录建立控制

anon_mkdir_write_enable=YES|NO
请添加图片描述
请添加图片描述

5.下载控制

anon_world_readable_only=NO ##匿名用户可以下载不能读的文件
请添加图片描述
请添加图片描述

6.删除重命令控制

anon_other_write_enable=YES|NO
请添加图片描述
请添加图片描述

7.匿名用户上传文件权限设定

anon_umask=xxx
anon_umask=022 ##当设定chown_username之后上传文权限将不是用此参数设定
请添加图片描述
请添加图片描述

8.匿名用户上传文件的用户身份设定

chown_upload=YES
chown_username=lee
chown_upload_mode=0644
请添加图片描述
请添加图片描述

9.登陆数量控制:

max_clients=2

10.上传速率控制

anon_max_rate=102400
查看流量 : put /mnt/bigfile

5.本地用户的访问

1.登陆控制

useradd westos
useradd lee
echo lee | passwd --stdin westos
echo lee | passwd --stdin lee
lftp 192.168.0.10 -u westos
local_enable=NO|YES
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

2.家目录控制

local_root=/software
请添加图片描述

3.写权限控制

write_enable=NO|YES

4.上传文件权限控制

local_umask=077

5.用户登陆控制

/etc/vsftpd/ftpusers ##永久黑
/etc/vsftpd/user_list ##默认黑

6.用户登陆白名单

userlist_deny=NO #设定/etc/vsftpd/user_list位白名单
#不在名单中的用户不能登陆ftp
在这里插入图片描述
请添加图片描述
请添加图片描述
变成白名单
请添加图片描述

7.锁定用户到自己的家目录中

chmod u-w /home/*
chroot_local_user=YES
请添加图片描述
请添加图片描述

8.锁定用户到自己的家目录中的白名单

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
请添加图片描述

9.锁定用户到自己的家目录中的黑名单

chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

6.虚拟用户访问

建立虚拟用户过程

1.

vim /etc/vsftpd/ftp_auth_file #建立认证文件模板
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/westos
account required pam_userdb.so db=/etc/vsftpd/ftp_auth_file
auth required pam_userdb.so db=/etc/vsftpd/ftp_auth_file

4.

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

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

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/ U S E R u s e r s u b t o k e n = USER user_sub_token= USERusersubtoken=USER
systemctl restart vsftpd

用户配置独立

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不行

举报

相关推荐

0 条评论