dnf install vsftpd-3.0.3-31.el8.x86_64 -y # 安装ftp服务
systemctl enable --now vsftpd # 启动ftp服务
systemctl stop --now firewalld.service # 关闭防火墙,允许客户端访问

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

dnf install lftp -y # 在Linux中可以安装此服务,在终端访问ftp
ftp://ip # 客户端访问ftp服务器


vsftpd.service/etc/vsftpd/etc/vsftpd/vsftpd.conf/var/ftp550 ##程序本身拒绝
553 ##文件系统权限限制
500 ##权限过大
530 ##认证失败

注意,关闭此功能需要重启系统
anonymous_enable=YES #启动匿名用户访问功能,默认情况不允许登录
默认情况向访问的是/var/ftp
anon_root=/westosdir # 增加此信息

anon_upload_enable=YES|NO # 运行匿名用户上传文件
chmod 775 /var/ftp/pub # 修改文件权限,使得匿名用户可以写入文件
chgrp ftp /var/ftp/pub


anon_mkdir_write_enable=YES|NO

报错
出现以下问题是在设置权限时候,误将ftp根目录设置为775权限,实际上应在/var/ftp/pub中设置权限。


anon_world_readable_only=NO ##匿名用户可以下载不能读的文件,需要添加

anon_other_write_enable=YES|NO

anon_umask=022 ##当设定chown_username之后上传文权限将不是用此参数设定

chown_upload=YES
chown_username=lee
chown_upload_mode=0644


max_clients=2 # 同时登录用户最大两个

anon_max_rate=102400 # 100M

local_enable=NO|YES #默认本地用户可以登录


local_root=/software # 增添内容

write_enable=NO|YES # 是否可以写入文件

local_umask=077 # 控制上传文件的权限,预留权限
/etc/vsftpd/ftpusers 永久黑名单用户

/etc/vsftpd/user_list 默认情况下该名单是临时黑名单,修改参数后为白名单用户。


默认情况下,用户可以访问根目录,这样对于系统是不安全的,需要进行限制。

chroot_local_user=YES # 开启此功能后,所有用户被锁定在家目录中
chmod u-w /home/* # 删除写权限


默认用户是不可以访问根目录等位置,名单中的人可以访问
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 # 黑名单

rpm -qc vsftpd # 显示程序的配置文件

对于ftp服务安全问题,应该只能让他访问相应的文件,而不是访问文件的同时也具备本地用户相应的资源,所以需要创建虚拟用户。
/etc/vsftpd/xxx # 自定义虚拟用户文件,第一行用户名,下一行密码
db_load -T -t hash -f ftp_auth_file ftp_auth_file.db ##加密认证文件

/etc/pam.d/xxx # 自定义认证机制文件
pam_service_name=xxx ##指定认证策略文件
guest_enable=YES ##指定虚拟用户功能开启
guest_username=ftp ##指定虚拟用户在ftp服务器上的用户身份




vim /etc/vsftpd/vsftpd.conf
local_root=/ftpfile/$USER
user_sub_token=$USER


mkdir /etc/vsftpd/user_config # 虚拟用户独立的设置文件
user_config_dir=/etc/vsftpd/user_config #在此目录中与用户名称相同的文件为用户配置文件,在主配置文件中添加此信息


