1.实验的环境
1.windos 系统版本:window10
2.VMware软件版本:VMware® Workstation 17 Pro 17.0.2
3.Linux系统版本 Red Hat Enterprise Linux 9.2 (Plow)
2.实验方法和步骤
(1)安装ftp服务器:
离线安装:rpm -ivh vsftpd-1.1.3-8.i386.rpm
在线安装:yum install vsftpd
卸载程序:yum remove vsftpd
修改配置文件,使匿名用户有访问与查看共享目录的权力
cd /etc/vsftpd #进入vsftp的配置目录
cp vsftpd.conf vsftpd.conf_bak # 将原始配置文件备份
vim vsftpd.conf #修改配置文件
以下配置OKrhel9.3
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
以下是配置项的说明,不一定修改:
local_enable=NO|YES 控制,NO表示禁止,YES表示允许
anonymous_enable=yes/no 匿名用户访问 。 yes表示允许,no表示不允许 anon_upload_enable=YES/NO 制 YES表示同意,NO表示否定 anon_world_readable_only=NO/YES 制,NO表示可以下载不可读文件,YES表示不能下载 anon_mkdir_write_enable=YES|NO
控制 max_clients=2 #本地登陆 #是否允许 #上传控 #下载控 #目录创建 #表示最大 同时访问数为2
#local_root=/mnt #家目录控 制,默认进入的家目录是进入登录用户的家目录 write_enable=NO|YES 制,NO表示不允许写,YES表示允许
chroot_local_user=YES 到自己的家目录中 #写权限控 #锁定用户
vsftpd.conf 配置文件里可以写入此参数:
userlist_deny=NO 表示允许user_list的用户登录,则 user_list变白名单。
/etc/vsftpd/ftpusers #进入的用户永久黑名单
/etc/vsftpd/user_list #进入的用户默认黑名单
(3) 修改本地上传目录权限
cd /var/ftp/pub
mkdir chmod chmod
chmod 777 /var/ftp/pub/upload
chmod 777 /var/ftp/pub
(4)重启FTP服务
systemctl restart vsftpd.service
systemctl status vsftpd.service
如果无法访问,权限不足 请检查以下两项是否关闭。
1、关闭 SELinux setenforce 0 3/8 Permissive 是关闭状态 getenfoce 查看是否关闭:
selinux firewalld firewalld 或者:vim /etc/sysconfig/ 将 SELINUX=enforcing 改为 SELINUX=disabled 然后重启
2、关闭 防火墙 systemctl stop #关闭防火墙
systemctl status firewalled systemctl disable #关闭防火墙开机启动
3.虚拟用户访问
1.建立认证文件模板
建立模板需要在/etc/vsftp/的目录下完成
我们建立 “vim /etc/vsftpd/ftp_auth_file”
我们写了3个虚拟用户和密码,注意写的时候注意后面的空格, 在这里空格也是会被计算在内的。
2.加密认证文件
然后我们把写出的文件,转换成系统可识别的认证文件 cd /etc/vsftpd/
“db_load -T -t hash -f ftp_auth_file ftp_auth_file.db
3.建立pam认证文件
pam是我们系统中的一个插件程序,用来确认配对信息,
例如我们用ftp登录主机用户获取信息是,
需要先输入用户名,然后输入密码才可以进入,
可以来查看pam 的配置目录里的文件内容。
在pam.d目录里是有vsftp的认证文件的,文件内容我们列出来了
所以我们建立的虚拟用户也
需要建立这样的认证文件才可以让别人访问
建立文件 vim /etc/pam.d/test ,test这个文件名可以
4.编辑vsftp主配置文件
vim /etc/vsftpd/vsftpd.conf
pam_service_name=test:指定认证的文件,之前用的是/ etc/pam.d/vsftp 身份, 目录 guest_enable=YES:指定虚拟用户功能开启 guest_username=ftp:指定虚拟用户在ftp服务器上的用户 ftp的家目录就是/var/ftp/pub 可以查看/etc/passwd里的内容找到
完成这些设定后就完成了虚拟用户的建立, 重启服务 systemctl restart 就可以测试登录查看。