|NO.Z.00023|——————————|^^ 部署 ^^|——|Linux&VSFTP服务.V05|——|VSFTP部署|虚拟验证|
一、虚拟用户验证实验(待验证):

### --- 建立FTP的虚拟用户的用户数据库文件(在/etc/vsftpd)
[root@server21 ~]# vim /etc/vsftpd/vsftpd.user
a1 // 注:该文件名可以随时定义,文件内容格式,奇数行用户,偶数行密码
123456
a2
123456
a3
123456
~~~ 配置数据库登录验证的数据库文件
[root@server21 ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd.user /etc/vsftpd/vsftpd.db //-T:将普通文件转换为数据库文件,-t:使用什么加密类型,-f:指定要转换的原文件
[root@server21 ~]# ll /etc/vsftpd/ // 将用户密码的存放文本转化为数据库类型,并使用hash加密
-rw-r--r-- 1 root root 12288 Feb 4 11:01 vsftpd.db
~~~ 修改文件权限为600,保证其安全性
[root@server21 ~]# chmod 600 /etc/vsftpd/vsftpd.db
### --- 创建FTP虚拟用户的映射用户,并制定其用户家目录
~~~ 创建virtual用户作为ftp的虚拟用户的映射用户
~~~ 不需要设置密码,只需要virtual为用户提供一个家目录
[root@server21 ~]# useradd -d /var/ftproot -s /sbin/nologin virtual
### --- 建立支持迅疾用户的PAM认证文件,添加虚拟用户支持
~~~ 使用模板生成自己的认证配置文件,方便一会调用
[root@server21 ~]# cp -a /etc/pam.d/vsftpd /etc/pam.d/vsftpd.pam
~~~ 编辑新生成的文件,vsftpd.pam(清空原来内容,添加下列两行)
[root@server21 ~]# vim /etc/pam.d/vsftpd.pam
auth required pam_userdb.so db=/etc/vsftpd/vsftpd // db已经声明了调用数据库文件,所以vsftpd不需要加后缀
account required pam_userad.so db=/etc/vsftpd/vsftpd
~~~ 在vsftpd.conf文件中添加支持配置
~~~ 修改:
[root@server21 ~]# vim /etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd.pam
~~~ 添加:
guest_enable=YES // 开启匿名用户
guest_username=virtual // 匿名用户的隐射用户是谁
user_config_dir=/etc/vsftpd/dir // 匿名用户的配置目录在哪里
~~~ 提前创建dir目录
[root@server21 ~]# mkdir /etc/vsftpd/dir
### --- 为虚拟用户创建独立的配置文件,启动服务并测试
~~~ 注:做虚拟用户配置文件设置时,将主配置文件中自定义的匿名用户相关设置注释掉
[root@server21 ~]# vim /etc/vsftpd/vsftpd.conf // 注释如下内容
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
#anon_other_write_enable=YES
~~~ 用户a1可以上传:
[root@server21 ~]# vim /etc/vsftpd/dir/a1
anon_upload_enable=YES // 允许上传文件
~~~ 用户a2可以创建目录或文件
[root@server21 ~]# vim /etc/vsftpd/dir/a2
anon_mkdir_write_enable=YES // 允许创建目录
~~~ 用户a3可以修改文件名:
[root@server21 ~]# vim /etc/vsftpd/dir/a3
anon_upload_enable=YES // 允许上传文件(为了覆盖开启的)
anon_other_write_enable=YES // 允许重名和删除文件/覆盖
~~~ 注:给映射用户的家目录设置o+r让虚拟用户有读权限
[root@server21 ~]# chmod o+r /var/ftproot/
~~~ 重启服务
[root@server21 ~]# service vsftpd restart
### --- 客户端测试
[root@server22 ~]# ftp 20.20.20.21
Name (20.20.20.21:root): a1
Password:123456
[root@server22 ~]# ftp 20.20.20.21
Name (20.20.20.21:root): a2
Password:123456
[root@server22 ~]# ftp 20.20.20.21
Name (20.20.20.21:root): a3
Password:123456
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv007-network
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通