# 实验环境 #

server主机:

westos_lue  

172.25.254.20

selinux关闭

火墙开启

dnf安装设定完成

Vsftpd服务的部署及优化

vim /etc/sysconfig/selinux

Vsftpd服务的部署及优化

systemctl start firewalld   火墙开启

vim /etc/yum.repos.d/westos.repo

Vsftpd服务的部署及优化

client主机:

westos_linux

172.25.254.10

selinux关闭

dnf安装设定完成

安装lftp

ftp协议文本浏览器

 

 # 1.ftp介绍 #

ftp:file transfer proto

互联阿中最老牌的文件传输协议

# 2.vsftpd安装及启用 #

dnf install vsftpd -y

关闭selinux

systemctl enable --now firewalld

systemctl enable --now vsftpd

firewall-cmd --permanent --add-source=172.25.254.10 --zone=trusted

systemctl restart firewalld 

vim /etc/vsftpd/vsftpd.conf

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

systemctl restart vsftpd 

测试安装发布:

firefox ftp://ip

lftp ip

此访问方式必须能列出资源才算访问成功

在使用完成后请输入exit推出lftp 

Vsftpd服务的部署及优化

Vsftpd服务的部署及优化

vim /etc/vsftpd/vsftpd.conf

Vsftpd服务的部署及优化

Vsftpd服务的部署及优化

测试:

 

#   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   本地用户访问

登陆控制

anonymous_enable=YES|NO

家目录控制

anon_root=/westosdir

上传控制

anon_upload_enable=YES|NO

chmod 777 /var/ftp/pub

lftp 192.168.0.10

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=022      当设定chown_username之后上传文权限将不是用此参数设 定

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

chown_upload=YES

chown_username=lee

chown_upload_mode=0644

登陆数量控制:

max_clients=2

上传速率控制

anon_max_rate=102400

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

相关文章: