1.搭建实验环境
2.vsftpd安装及启用
2.vsftpd安装及启用dnf install lftp vsftpd -y ##安装lftp和vsftpd服务(主机172.25.254.100既可作服务端,也可作客户端)
systemctl enable --now vsftpd ##开启vsftpd服务
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
lftp 172.25.254.100 ##匿名用户访问受限
lftp 172.25.254.100 -u westos
vim /etc/vsftpd/vsftpd.conf ##启动匿名用户的访问功能
systemctl restart vsftpd ##重启服务
3.匿名用户访问设置
登录控制 anonymous_enable=YES|NO
家目录控制 anon_root=/westos
上传控制
anon_upload_enable=YES|NO
chmod 755 /var/ftp/
chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub
lftp 172.25.254.100
cd pub/
put etc/passwd
chmod 777 /var/ftp/
lftp 172.25.254.100 ##匿名用户登陆,出现报错500 权限过大
chmod 755 /var/ftp/
chgrp ftp /var/ftp/pub/
chmod 775 /var/ftp/pub/
ls -ld /var/ftp/pub
lftp 172.25.254.100
下载控制anon_world_readable_only=NO ##匿名用户可以下载不能读的文件
目录建立控制anon_mkdir_write_enable=YES|NO
删除命令控制anon_other_write_enable=YES|NO
匿名用户上传控制anon_umask=022 ##当设定chown_username之后上传文权限将不是用此参数设置
匿名用户上传文件的身份认定chown_upload=YES
chown_username=westos
chown_upload_mode=0755
上传速率控制anon_max_rate=102400
登录数量设置ax_clients=2
4.本地用户的访问
useradd lee
useradd test
echo lee | passwd --stdin lee
Changing password for user lee.
passwd: all authentication tokens updated successfully.
echo lee | passwd --stdin test
Changing password for user test.
passwd: all authentication tokens updated successfully.
lftp 172.25.254.110 -u lee
写权限设置write_enable=NO|YES
当write_enable=NO时,本地用户访问之后,不可上传出现550报错。当write_enable=YES时,本地用户访问登陆之后可以上传成功。
家目录控制
vim /etc/vsftpd/vsftpd.conf ##设定家目录
systemctl restart vsftpd
lftp 172.25.254.100 -u lee
ls /westo
上传文件控制local_umask=077
5.用户登陆控制
/etc/vsftpd/ftpusers ##永久黑名单
/etc/vsftpd/user_list ##默认黑名单
cd /etc/vsftpd/
ls
vim ftpusers ##将lee加入永久黑名单
lftp 172.25.254.100 -u lee ##用户lee不可访问
lftp 172.25.254.100 -u westos ##用户westos可以访问
vim ftpusers ##将lee从永久黑名单删除
vim user_list ##将lee加入默认黑名单
lftp 172.25.254.100 -u lee
lftp 172.25.254.100 -u westos
vim user_list ##将用户lee从默认黑名单删除
用户登录白名单userlist_deny=NO ##设定/etc/vsftpd/user_list位白名单,不在名单中的用户不能登陆ftp
vim /etc/vsftpd/vsftpd.conf ##白名单出现
userlist_enable=YES
userlist_deny=NO ##默认黑变成了白名单
systemctl restart vsftpd
vim user_list ##将用户westos加入白名单
lftp 172.25.254.100 -u lee ##530报错
lftp 172.25.254.100 -u westos ##可以登陆访问
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.虚拟用户的访问
建立虚拟用户vim /etc/vsftpd/authlist
user1
123
user2
123
user3
123
db_load -T -t hash -f authlist authlist.db ##加密认证文件,-T 转换 -t type -f 指定转换文件
3. vim /etc/pam.d/authpam
account required pam_userdb.so db=/etc/vsftpd/authlist
auth required pam_userdb.so db=/etc/vsftpd/authlist
4.vim /etc/vsftpd/vsftpd.conf
pam_service_name=authpam ##z指定认证策略文件
guest_enable=YES ##指定虚拟用户开启功能
guest_username=ftp ##指定虚拟用户在ftp服务器上的用户身份
7.用户配置独立
user_config_dir=/etc/vsftpd/confdir ##在此目录中与用户名称相同的文件为用户配置文件
mkdir /etc/vsftpd/confdir
vim /etc/vsftpd/confdir/user2
anon_upload_enable=YES



