『2-3』Linux之vsftp

『2-3』Linux之vsftp

实验环境

server主机
westos_node1
172.25.254.226
selinux关闭
在这里插入图片描述

[root@node126 ~]# getenforce 
Disabled
[root@node126 ~]# 

火墙开启

[root@node226 ~]# firewall-cmd --state 
running

dnf安装设定完成

client主机
westos_linux
172.25.254.126
selinux关闭
dnf安装设定完成
安装lftp #lftp协议文本浏览器

一、ftp介绍

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

二、vsftpd 安装及启用

dnf install vsftpd -y ##server
在这里插入图片描述
##client
dnf install lftp -y
在这里插入图片描述

关闭selinux

[root@node126 ~]# setenforce 0
setenforce: SELinux is disabled
[root@node126 ~]# 

systemctl disable --now firewalld
在这里插入图片描述

服务端
vim /etc/vsftpd/vsftpd.conf

12 anonymous_enable=YES  ##启动匿名用户的访问功能

在这里插入图片描述

systemctl restart vsftpd
测试安装发布:
firefox ftp://ip
在这里插入图片描述

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

三、vsftpd基本信息

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

chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub
在这里插入图片描述
客户端
lftp 192.168.0.100
cd pub
put /etc/passwd

目录建立控制
anon_mkdir_write_enable=YES|NO

下载控制
anon_world_readable_only=NO

删除命令控制
anon_other_write_enable=YES|NO

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

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

chown_upload=YES
chown_username=lee
在这里插入图片描述

[root@node226 ~]# systemctl restart vsftpd

客户端
在这里插入图片描述

在这里插入图片描述

chown_upload_mode=0644

在这里插入图片描述

[root@node226 ~]# systemctl restart vsftpd

客户端
在这里插入图片描述

登录数量控制:
max_clients=3

在这里插入图片描述

[root@node226 ~]# systemctl restart vsftpd

‘客户端’
在这里插入图片描述


退出其中1台
在这里插入图片描述

上传速率控制:
anon_max_rate=102400

五、本地用户的访问

修改配置文件/etc/vsftpd/vsftpd.conf

登录控制

useradd westos
useradd lee
echo lee | passwd --stdin lee
echo lee | passwd --stdin westos

lftp 192.168.0.10 -u westos
local_enable=NO|YES
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
local_root=/software 家目录控制

write_enable=NO|YES 写权限控制,上传
上传文件权限控制
local_umask=077
用户登陆控制
/etc/vsftpd/ftpusers 永久黑
/etc/vsftpd/user_list 默认黑
用户登陆白名单
userlist_deny=NO #设定/etc/vsftpd/user_list为白名单
不在名单中的用户不能登陆ftp
锁定用户到自己的家目录中
在这里插入图片描述

chroot_local_user=YES 锁定权限打开时家目录有写权限也不能访问
在这里插入图片描述chmod u-w /home/*

在这里插入图片描述

在这里插入图片描述

锁定用户到自己家目录中的白名单
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
在这里插入图片描述在这里插入图片描述

[root@node226 ~]# vim /etc/vsftpd/chroot_list

在这里插入图片描述

[root@node226 ~]# systemctl restart vsftpd

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

锁定用户到自己的家目录中的黑名单
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

六、虚拟用户访问

1.建立虚拟用户过程

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/westso2/westos2file
touch /ftpuserdir/westos3/westos3file

vim /etc/vsftpd/vsftpd.conf
local_root-/ftpuserdir/$USER
user_sub_token=$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不行

猜你喜欢

转载自blog.csdn.net/qq_39679699/article/details/113930737
2-3