关于vsftpd的原理这里就不多说了,下面红色部分有单独标出,突出显示,意思是这里的东西有额外的配置,全文的配置一定要跟着第二步的配置来,不要过程中随便改变参数,除非你看得懂,好了直接上配置过程

1、安装vsftpd:yum -y install vsftpd db4

2、删掉/etd/vsftpd/vsftpd.conf,然后创建并编辑这个vsftpd.conf,内容如下

#global configuration
local_enable=YES
chroot_local_user=NO
ftpd_banner=MyFTP
guest_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
guest_username=ftp
listen_port=21
use_localtime=YES
listen=YES
pam_service_name=vsftpd.pam
user_config_dir=/etc/vsftpd/vconf
virtual_use_local_privs=YES
pasv_min_port=10060
pasv_max_port=10090

#anonymous configuration
anonymous_enable=YES
anon_root=/ftproot/anon
anon_world_readable_only=YES

#log configuration
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/xferlog
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log

3、配置vsftpd的登陆帐号

编辑这个文件,并加上vsftpd的帐号和密码。格式是第一行帐号,第二行密码,第三行帐号,第四行密码,依次类推

vim /etc/vsftpd/vusers

admin

123456

test

123456

然后把这个文件变成db文件,让vsftpd读取的时候更快:db_load -T -t hash -f /etc/vsftpd/vusers /etc/vsftpd/vuser.db

4、配置vsftpd的pam认证,加两行内容,注意,我们上面生成的是vuser.db,下面的内容中省略.db共计3个字符,不是我写漏了,而且上面的db_load的是vusers,生成的是vuser.db,我故意的,注意不要看错

vim /etc/pam.d/vsftpd.pam

auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser

5、配置虚拟用户独立权限

以vsftpd登陆的用户名在/etc/vsftpd/vconf下创建文件,并编辑其中的内容,注意了,文件名不是随便取的,刚刚我创建的虚拟用户有admin和test两个帐号,现在以admin帐号为例

vim /etc/vsftpd/vconf/admin

local_root=/ftproot
write_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

这个admin登陆的个人权限就在这个文件里面单独定义,因此不同的虚拟用户有不同的ftp权限

6、操作系统的配置

6.1、创建/ftproot目录并将ftp帐号的家目录改到/ftproot下,将/ftproot权限全部给ftp帐号:

mkdir -pv /ftproot/anon
usermod -d /ftproot ftp
chown -R ftp.ftp /ftproot

6.2、配置selinux允许ftp

setsebool -P ftp_home_dir on
setsebool -P allow_ftpd_full_access on

6.3、配置防火墙允许ftp

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10060:10090 -j ACCEPT

如果你是centos7以上的版本,那么执行firewall-cmd --add-service=ftp --permanent

7、附录:有关于vsftpd中的anonymous相关参数配置

anonymous_enable=YES 是否开启匿名用户
allow_anon_ssl=NO 是否强制匿名用户用ssl安全连接,默认NO
anon_mkdir_write_enable=NO 是否允许匿名用户创建文件/文件夹,这个选项受制于write_enble
anon_other_write_enable=NO 是否允许匿名用户能够删除和重命名文件的权限
anon_upload_enable=NO 是否允许匿名用户上传文件,这个选项受制于write_enble
anon_world_readable_only=YES 匿名用户只能下载自己可读的文件
no_anon_password=NO 如果为YES,匿名用户登陆就不必输入密码了
anon_max_rate=0 匿名用户下载速率,默认不限速
anon_root=目录名 匿名用户登陆后的目录

大家自行去发挥不,配置操作完成。

技术交流群:70539804

vsftpd文件虚拟用户搭建的更多相关文章

  1. vsftpd配置虚拟用户为登录用户02

    1.安装vsftpd 安装依赖包: yum -y install pam pam-devel db4 de4-devel db4-uitls db4-tcl 新建vsftpd系统用户: #建立Vsft ...

  2. vsftpd服务器配置虚拟用户

    添加宿主用户 新建系统用户vsftpd,用户目录为/home/wwwroot, 用户登录终端设为/bin/false(即使之不能登录系统) useradd vsftpd -d /home/wwwroo ...

  3. vsftpd 创建虚拟用户

    1.添加一个宿主用户:useradd vsftpd -s /sbin/nologin2.安装db4-utils,通过本底数据文件实现虚拟用户访问yum install db4-utils3.创建ftp ...

  4. Azure + vsftpd + ubntu14 + 虚拟用户 遇到的问题:从网上摘抄

    :在Azure安装好ubuntu虚拟机,安装包选择ubuntu14.04 LTS,选择LTS,以便微软对其以后的更好支持,不选就可能技术支持不会很久,现只开一台,端口默认选择22 :打开虚拟机,进入端 ...

  5. vsftpd配置虚拟用户

    #安装vsftpd yum -y install vsftpd #创建本地ftp账户 groupadd ftpuser useradd -g ftpuser -s /sbin/nologin ftpu ...

  6. vsftpd 新增虚拟用户

    接手公司linux服务器,已经用了vsftpd服务,需要增加新用户. vsftpd的配置文件在/etc/vsftpd.其中 编辑virtusers, 添加一个用户名和密码,奇行为用户名,偶行为密码 在 ...

  7. vsftpd设置虚拟用户

    centos6.5环境 软件安装: yum install vsftpd db4-utils 1. 添加虚拟用户口令文件 #添加一个虚拟用户testvim /etc/vsftpd/vftp_vuser ...

  8. 34.vsftpd服务程序--虚拟用户模式

    1.创建用于进行FTP 认证的用户数据库文件,其中奇数行为账户名,偶数行为密码. [root@localhost ~]# cd /etc/vsftpd/ [root@localhost vsftpd] ...

  9. linux之FTP服务搭建 ( ftp文件传输协议 VSFTPd虚拟用户)

    FTP服务搭建 配置实验之前关闭防火墙 iptables -F iptables -X iptables -Z systemctl stop firewalld setenforce 0 1.ftp简 ...

随机推荐

  1. Greeplum 系列(七) 权限管理

    Greeplum 系列(七) 权限管理 一.角色管理 Role 分为用户(User)和组(Group),用户有 login 权限,组用来管理用户,一般不会有 login 权限.初始化 gp 时创建了一 ...

  2. c++沉思录中 对字符串进行围边 横向连接 竖向连接操作的练习

    // MyPics.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <string> #include < ...

  3. swipe.js 使用方法

    1.插件要求的css样式: <style> .swipe { overflow: hidden; visibility: hidden; position: relative; } .sw ...

  4. Synchronizer解析(为AQS打个铺垫)

    ReentranceLock 和 Semaphore有很多共同点,他们都像是一个gate一样, 来控制让哪些线程阻塞,让哪些线程通过. 不同的是,ReentranceLock允许通过的量是1,Sema ...

  5. VC++中MessageBox的常见用法详解

    消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合.         1.MessageBox("这是一个最简单的消息框!");        ...

  6. unity shader序列帧动画代码,顺便吐槽一下unity shader系统

    一.看到UNITY论坛里有些人求unity shader序列帧动画,写shader我擅长啊,就顺势写了个CG的shader.代码很简单,就是变换UV采样序列帧贴图,美术配置行数列数以及变换速度. Sh ...

  7. ASP.NET系列:自定义配置节点的复用

    appSettings太简单,为每个程序自定义配置节点太复杂,因此要解决app.config&web.config自定义配置的复用问题. 1.读取不依赖SectionName,根节点可以定义为 ...

  8. Zero Clipboard js+swf实现的复制功能使用方法

    开发中经常会用到复制的功能,在 IE 下实现比较简单.但要想做到跨浏览器比较困难了.本文将介绍一个跨浏览器的库类 Zero Clipboard .它利用 Flash 进行复制,所以只要浏览器装有 Fl ...

  9. 详解CSS盒模型

    原文地址:http://luopq.com/2015/10/26/CSS-Box-Model/ 本文主要是学习CSS盒模型的笔记,总结了一些基本概念,知识点和细节. 一些基本概念 HTML的大多数元素 ...

  10. csv文件乱码

    问题描述: 生成的csv文件,设置为UTF-8格式,在windows上用EXCEL打开的话会乱码,在linux上用vim或者cat打开查看正常:设置为GBK格式的话,在windows上用EXCEL打开 ...