Centos 7 安装配置Vsftp(虚拟用户登录)

虚拟用户特点:
1、只能访问服务器为其提供的FTP服务,而不能访问系统的其它资源。所以,如果想让用户对FTP服务器站内具有写权限,但又不允许访问系统其它资源,可以使用虚拟用户来提高系统的安全性。
2、可以建立多个虚拟用户,设置各自的密码,并且根据其用途设置相应的配置,能适应多种情况。
虚拟用户原理:
以本地系统用户为宿主(一般是不能登录系统的本地用户),然后通过虚拟用户和本地系统用户建立映射关系,实现虚拟用户登录FTP服务功能。
使用yum安装vsftpd

yum -y install vsftpd

在这里插入图片描述
。。。
在这里插入图片描述
配置虚拟用户访问的vsftpd服务
创建虚拟用户密码文件,奇数行为用户名,偶数行为密码

vim /etc/vsftpd/vir_user

在这里插入图片描述
生成虚拟用户数据库

[root@vsftpd ~]#yum -y install libdb-utils

在这里插入图片描述
在这里插入图片描述
生成加密文件
执行命令[root@vsftpd ~]#db_load -T -t hash -f /etc/vsftpd/vir_user /etc/vsftpd/vir_user.db
db_load应该是linux下创建虚拟账户:
**解释:**选项-T允许应用程序能够将文本文件转译载入进数据库。由于我们之后是将虚拟用户的信息以文件方式存储在文件里的,为了让Vsftpd这个应用程序能够通过文本来载入用户数据,必须要使用这个选项。
指定了选项-T,那么一定要追加子选项-t;子选项-t,追加在在-T选项后,用来指定转译载入的数据库类型。
-f 参数后面接包含用户名和密码的文本文件,文件的内容是:奇数行用户名、偶数行密码
hash就是使用hash码加密

db_load -T -t hash -f /etc/vsftpd/vir_user /etc/vsftpd/vir_user.db

前提就是在linux下配置好Vsftp环境确保db_load命令可以使用就是将用户文本信息文件转换为db数据库并使用hash加密。
修改权限

[root@vsftpd ~]#chmod 700 /etc/vsftpd/vir_user.db

配置vsftpd pam验证文件:
将auth及account的所有配置行均注释掉,添加如下两行

[root@vsftpd ~]#vim /etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd/vir_user
account required pam_userdb.so db=/etc/vsftpd/vir_user

各自的分工不一样的,auth 是认证,比如密码等,account是管理,比如登录时间,登录平台等限制。
增加一个系统用户‘virftp’,所有虚拟用户都会映射到此用户后对文件系统进行读写操作:

mkdir /ftproot
useradd -d /ftproot -s /sbin/nologin virftp
chown -R virftp:virftp /ftproot

设置vsftpd主配置文件

mkdir /etc/vsftpd/vsftpd_viruser/
[root@vsftpd~]#vim /etc/vsftpd/vsftpd.conf    (看着改......)
guest_enable=YES
guest_username=virftp
pam_service_name=vsftpd
user_config_dir=/etc/vsftp/vsftpd_viruser
allow_writeable_chroot=YES
-- INSERT --                 

在这里插入图片描述在这里插入图片描述
创建和配置虚拟用户各自的配置文件,文件名称是‘虚拟用户名’
[root@vsftpd ~]#vim /etc/vsftpd/vsftpd_viruser/test1
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022
local_root=/ftproot/admin/

在这里插入图片描述
创建虚拟用户的根目录,要保证虚拟用户映射的系统用户,对这个根目录有读写权限

[root@vsftpd ~]#mkdir -p /ftproot/admin/
[root@vsftpd ~]#chown -R virftp.virftp /ftproot/admin/

全部注释掉

vim /etc/vsftpd/ftpusers

在这里插入图片描述
重启服务

cd 

设置开机自启动

systemctl enable vsftpd

关闭防火墙

systemctl stop firewalld
setenforce 0

使用filezilla软件测试

(链接:https://pan.baidu.com/s/1vt0nJj1a-BOCOarRNnmhRg
提取码:6fl7

复制这段内容后打开百度网盘手机App,操作更方便哦)
在这里插入图片描述
到这里就成功啦

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值