vsftpd

1.ftp

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

2.vsftpd 

dnf install vsftpd -y server
dnf install lftp -y client
关闭selinux
systemctl disable --now firewalld
systemctl restart vsftpd
vim /etc/vsftpd/vsftpd.conf
12 anonymous_enable=YES 启动匿名用户的访问功能
测试安装发布:
firefox ftp://ip
lftp ip
此访问方式必须能列出资源才算访问成功
在使用完成后请输入exit推出lftp
vsftpd_第1张图片
vsftpd_第2张图片

 vsftpd_第3张图片

3.vsftpd基本信息

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

 vsftpd_第4张图片

4.匿名用户访问控制 

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

vsftpd_第5张图片

vim /etc/vsftpd/vsftpd.conf

登陆控制
anonymous_enable=YES|NO
vsftpd_第6张图片
家目录控制
anon_root=/westos
vsftpd_第7张图片

上传控制
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
vsftpd_第8张图片

vsftpd_第9张图片

目录建立控制
anon_mkdir_write_enable=YES|NO
vsftpd_第10张图片
下载控制
anon_world_readable_only=NO 匿名用户可以下载不能读的文件
vsftpd_第11张图片

删除重命令控制
anon_other_write_enable=YES|NO 匿名用户上传文件权限设定

anon_umask=xxx  
anon_umask=022 当设定chown_username之后上传文权限将不是用此参数设定
vsftpd_第12张图片

匿名用户上传文件的用户身份设定
chown_upload=YES
chown_username=westos
chown_upload_mode=0644
vsftpd_第13张图片

 vsftpd_第14张图片

登陆数量控制:
max_clients=2
vsftpd_第15张图片

上传速率控制
anon_max_rate=102400

 vsftpd_第16张图片

 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
vsftpd_第17张图片

家目录控制
local_root=/westos
vsftpd_第18张图片

写权限控制
write_enable=NO|YES
vsftpd_第19张图片

上传文件权限控制
local_umask=077
vsftpd_第20张图片

用户登陆控制
/etc/vsftpd/ftpusers 永久黑
vsftpd_第21张图片

/etc/vsftpd/user_list 默认黑
用户登陆白名单
userlist_deny=NO      设定/etc/vsftpd/user_list位白名单 不在名单中的用户不能登陆ftp
vsftpd_第22张图片

锁定用户到自己的家目录中
chmod u-w /home/*
chroot_local_user=YES
vsftpd_第23张图片

vsftpd_第24张图片
锁定用户到自己的家目录中的白名单
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
vsftpd_第25张图片
锁定用户到自己的家目录中的黑名单
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

6.虚拟用户访问 

建立虚拟用户过程
vim /etc/vsftpd/ftp_auth_file 建立认证文件模板
westos1
123
westos2
123
westos3
123
db_load -T -t hash -f ftp_auth_file ftp_auth_file.db 加密认证文件 -T 转换 -t type -f 指定
转换文件
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
vsftpd_第26张图片

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

虚拟用户家目录的独立设定
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
vsftpd_第28张图片
vsftpd_第29张图片

用户配置独立
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不行
vsftpd_第30张图片

 vsftpd_第31张图片

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