首页 > 电脑教程 > Linux教程 > vsftp安装配置笔记(三)配置虚拟用户访问

vsftp安装配置笔记(三)配置虚拟用户访问

小编:动力软件园 时间:2018-08-21 16:04:40

 配置vsftpd服务器总体概要:

 

       网上大把的vsftp服务配置教程,我看的晕乎乎的,需要用的时候很吃力的看一遍,配置完就忘记了。原因没有彻底理解vsftp服务的工作原理。想必很多朋友和我一样吧。今天就特意花几个小时整理一下文档,以便下次使用。保证你看完之后不会忘记。该教程是针对配置vsftp服务使用虚拟账号登陆的,liunx中的vsftp服务 默认禁止root用户登录。因为是明文传输,如果被抓包,得到的root密码是可以直接登陆系统,拿到最高权限的。【测试方法:tcpdump -i -eth0 -nnX  port 21  使用tcpdump 命令在eth0的21端口进行抓包。X的意思是进行16进制拆分。】如果你非要使用vsftp本地账户登陆。那你可以直接略过看该文档。

        首先要牢记以下几点,才能明白以下操作的意义:

         1、vsftp用户分三种(1)anonymous【禁止】 匿名用户(2)本地用户【禁止】(3)虚拟用户【使用该模式登录】。

         2、默认安装的vsftp也是采用PAM认证的。我们配置虚拟账户也采用PAM认证方式。

         3、建立虚拟用户列表,生成db文件后要记得删除或者移位到其他位置,放置信息泄露。

         4、每一个虚拟用户对应一个属于自己的权限配置文件,方便灵活。

 

 用一张图来形容VSFTP虚拟用户安全访问机制。

 

         vsftp虚拟用户.png

            

 

开始配置服务器 :

 

一、安装vsftp
[root@localhost ~]# mount /dev/sr0 /mnt/cdrom/
mount: /dev/sr0 写保护,将以只读方式挂载
mount: /dev/sr0 已经挂载或 /mnt/cdrom 忙
       /dev/sr0 已经挂载到 /run/media/slz0907/CentOS 7 x86_64 上
       /dev/sr0 已经挂载到 /mnt/cdrom 上

[root@localhost ~]# cd /mnt/cdrom/Packages/

[root@localhost Packages]# rpm -ivh vsftpd-3.0.2-9.el7.x86_64.rpm

 

我这里已经安装好了。如果你还没有安装,执行该命令后出现两个100%,表示正常安装。

 

 

二、配置虚拟映射用户(看图)

创建一个不能登录系统的用户ftpuser用于映射虚拟用户,该虚拟用户只做映射不能登录系统,你可以理解为只能做路由转发,但是不能上网的路由器。

[root@localhost /]# useradd -d /home/ftpsite -s/sbin/nologin ftpuser

[root@localhost /]# chmod 700 /home/ftpsite/

[root@localhost /]#

 

打开vsftpd.conf文件添加配置:

guest_enable=YES  <--用于虚拟用户

guest_username=ftpuser  <--定义虚拟映射用户的用户名

user_config_dir=/etc/vsftpd/vsftpd_user_list  #这是第四步要加上的内容。

 

 

 

同时要记得修改,注释掉就可以了。

 

# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
#anonymous_enable=YES
#
# Uncomment this to allow local users to log in.
# When SELinux is enforcing check for SE bool ftp_home_dir

#local_enable=YES

 

 

 

三、建立虚拟用户列表(看图)

 

1、vim login.txt

 

test  <--账号

123456 <--密码

ftptest

121121

 

# 文件的内容是:奇数行用户名、偶数行密码。

 

2、生成认证db_load命令生成db文件,供vsftp认证调用。将用户文件信息转化为数据库并使用hash加密。

 

db_load -T -t hash -f login.txt /etc/vsftpd/vsftpd_login.db

修改权限:

chmod 600 /etc/vsftpd/vsftpd_login.db

 

3、新建或者修改PAM文件,调用2、生成的db文件,采用新的PAM认证。

 

vim /etc/pam.d/vsftpd

加入下面内容,其他行全部注释:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

64位系统:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

 

 

# auth是对用户密码进行验证。

# accout是对用户的权限进行验证。

 

到此为止,虚拟用户的新建,pam认证,搞定。

 

四、为test和ftptest用户配置访问权限吧。没有权限的账号是没有用滴。

 

vim test文件加入以下权限,切记 vsftpd.conf 要加入 user_config_dir=/etc/vsftpd/vsftpd_user_list

 

local_root=/home/ftpsite/xxxxxx   #这里的目录可以是系统中其他目录,根据用途定义。
file_open_mode=0777
write_enable=YES
virtual_use_local_privs=YES      #配置虚拟用户具有写权限(上传、下载、删除、重命名)

 

 

 

 

其他权限设置:

 

 

 

 

 

相关阅读
排行榜

易学车老版本

实用工具 下载

天行健安卓版 v2.35770

手游软件 下载

三星PC套件 samsung kies 官方正式版 3.2.15041.2

手机工具 下载