试验素材:配置ip,搭建软件仓库
1.vsftpd安装及启用
dnf install vsftpd
-
y
vim
/
etc
/
vsftpd
/
vsftpd.conf
12
anonymous_enable
=
YES
启动匿名用户的访问功能
systemctl restart vsftpd
2.测试安装发布:
firefox ftp://ip
lftp ip 此访问方式必须能列出资源才算访问成功 ,在使用完成后请输入exit推出
lftp
默认情况下匿名用户登录是不能上传的,
3.vsftpd基本信息
服务名称
:
vsftpd.service
配置目录
:
/
etc
/
vsftpd
主配置文件
:
/
etc
/
vsftpd
/
vsftpd.conf
默认发布目录
:
/
var
/
ftp
报错信息
:
550
##程序本身拒绝
553
##文件系统权限限制
500
##权限过大
530
##认证失败
4.匿名用户访问控制
关闭selinux,后reboot系统,getenforce disdbled
查看vsftpd有没有开启。火墙是否关掉。
家目录的访问功能
还原
目录建立控制
下载控制
删除重命令控制
匿名用户上传文件权限设定
anon_umask
=
xxx
anon_umask
=
022 ##
当设定
chown_username
之后上传文权限将不是用此参数设定
匿名用户上传文件的用户身份设定
设定上传文件的身份更改功能
chown_upload
=
YES
chown_username
=
lee
chown_upload_mode
=
0644
登陆数量控制:
max_clients
=
2
上传速率控制
anon_max_rate
=51200
5.
本地用户的登陆控制
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
家目录控制
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
锁定用户到自己的家目录中
chmod u
-
w
/
home
/*
chroot_local_user
=
YES
锁定用户到自己的家目录中的白名单
chroot_local_user
=
YES
chroot_list_enable
=
YES
chroot_list_file
=/
etc
/
vsftpd
/
chroot_list
锁定用户到自己的家目录中的黑名单
chroot_local_user
=
NO
chroot_list_enable
=
YES
chroot_list_file
=/
etc
/
vsftpd
/
chroot_list
#########################
#
6.
虚拟用户访问
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
/
westos2
/
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
不行