1 安装Vsftpd服务

# yum install vsftpd -y

vsftp虚拟用户是为了保证FTP服务器的安全性,由vsftpd服务器提供的非系统用户账号,

相对于FTP的本地用户来说,虚拟用户只是FTP服务器的专有用户,虚拟用户只能访问FTP

服务器所提供的资源。虚拟用户FTP登录后将把指定的目录作为FTP根目录。虚拟用户与本

地用户具有类似的功能,由于虚拟用户账号具有较高的安全性,可以替代本地用户账号使用。

2 创建vsftpd使用的系统用户,主目录为/home/vsftpd,禁止ssh登录, 创建之后所有

虚拟用户使用这个系统用户访问文件

# useradd vsftpd -d /vsftpd -s /bin/false

# ls -ld /vsftpd/

drwx------ 2 vsftpd vsftpd 62 Feb 2 15:34 /vsftpd/

3 创建虚拟用户主目录,比如虚拟用户叫ftp1

# mkdir -p /vsftpd/ftp1/

# mkdir -p /vsftpd/ftp2/

# chown -R vsftpd.vsftpd /vsftpd/*

# ls -l /vsftpd/

total 0

drwxr-xr-x 2 vsftpd vsftpd 6 Feb 2 15:35 ftp1

drwxr-xr-x 2 vsftpd vsftpd 6 Feb 2 15:35 ftp2

4 创建虚拟用户

# vi /etc/vsftpd/loginusers.conf

ftp1

123456

ftp2

456789

这样就创建了ftp1这个虚拟用户,密码为 123456

这样就创建了ftp2这个虚拟用户,密码为 456789

5 创建数据库文件

# db_load -T -t hash -f /etc/vsftpd/loginusers.conf /etc/vsftpd/loginusers.db

# chmod 600 /etc/vsftpd/loginusers.db

# chmod 600 /etc/vsftpd/loginusers.conf

6 启用数据库文件

# vi /etc/pam.d/vsftpd # 注释掉所有内容后,增加下面的内容

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers

7 创建虚拟用户配置文件

# mkdir -p /etc/vsftpd/userconf

这里的文件名称必须与虚拟用户名一致

# vi /etc/vsftpd/userconf/ftp1

local_root=/vsftpd/ftp1

write_enable=YES

anon_umask=022

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

# vi /etc/vsftpd/userconf/ftp2

local_root=/vsftpd/ftp2

write_enable=YES

anon_umask=022

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

8 修改主配置文件

# vi /etc/vsftpd/vsftpd.conf

#禁止匿名登录FTP服务器

anonymous_enable=NO

#允许本地用户登录FTP服务器

local_enable=YES

#可以上传(全局控制)

write_enable=YES

#允许下载

#download_enable=YES

#本地用户上传文件的umask

local_umask=022

#设置本地用户登录后所在目录

#local_root=/var/ftp/test

#全部用户被限制在主目录

chroot_local_user=YES

#允许对FTP根目录执行写入操作

allow_writeable_chroot=YES

#是否在进入新目录时显示 message_file 文件中的内容

dirmessage_enable=YES

#启用日志

xferlog_enable=YES

#vsftpd主动模式下开启的数据端口,在被动模式下不启动

connect_from_port_20=YES

#日志是否进行格式化

xferlog_std_format=YES

#监听的端口号

listen_port=21

#监听本地所有端口,默认监听本地所有端口

listen_address=0.0.0.0

#独立服务

listen=YES

#centos7增加此设置,关闭ipv6本地监听,默认监听ipv4和ipv6地址

listen_ipv6=NO

#认证模式

pam_service_name=vsftpd

#启用用户列表

userlist_enable=YES

#启用tcp_wrappers

tcp_wrappers=YES

#开启被动模式

pasv_enable=YES

#FTP服务器公网IP(也就是当前阿里云服务器的公网 IP)

#pasv_address=120.xx.xx.xx

#设置被动模式下,建立数据传输可使用port范围的最小值

pasv_min_port=10000

#设置被动模式下,建立数据传输可使用port范围的最大值

pasv_max_port=10088

guest_enable=YES

# 启动虚拟用户

guest_username=vsftpd

# 虚拟用户使用的系统用户名

user_config_dir=/etc/vsftpd/userconf

# 虚拟用户使用的配置文件目录

9 重启服务使配置生效

# systemctl restart vsftpd

10 测试

(1) ftp1用户

(2) ftp2用户

11 补充

(1) 创建用户并指定家目录

[root@slavenode1 ~]# mkdir -p /data/ftproot

[root@slavenode1 ~]# useradd -s /sbin/nologin -M virtual

[root@slavenode1 ~]# usermod -d /data/ftproot virtual

[root@slavenode1 ~]# chown -R virtual.virtual /data/ftproot/

[root@slavenode1 ~]# ls -ld /data/ftproot/

drwxr-xr-x 2 virtual virtual 6 Feb 2 01:27 /data/ftproot/

等价于

# useradd -d /data/ftproot -s /sbin/nologin virtual

# chmod -R 755 /data/ftproot/

# chown -R virtual.virtual /data/ftproot/

Vsftpd虚拟用户登陆配置(Centos7)的更多相关文章

  1. Ubuntu 12.04 LTS为例演示vsftpd虚拟用户 的配置

    vsftpd虚拟用户   2012-05-19 15:46:59|  分类: GNU/Linux |  标签:ubuntu  vsftpd  ftp  虚拟用户  |举报|字号 订阅 我们登录FTP有 ...

  2. 烂泥:ubuntu下vsftpd虚拟用户配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我微信ilanniweb. 以前搭建vsftpd都是在centos下,本以为在ubuntu按照以前的步骤搭建即可.可 ...

  3. vsftpd 虚拟用户配置

    vsftpd 虚拟用户的作用是 通过不同的虚拟用户可以有不同的根目录. 从 2.3.5 版本之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能在具有写权限了,如果检查 ...

  4. VSFTPD虚拟用户配置

    转载:http://www.cnblogs.com/allenjin/archive/2011/12/03/2274542.html 以下操作验证OK!!!! VSFTPD虚拟用户配置 VSFTP = ...

  5. FTP服务-实现vsftpd虚拟用户

    前几篇介绍了基础,这篇将具体实现几个案例 实现基于文件验证的vsftpd虚拟用户,每个用户独立一个文件夹 1.创建用户数据库文件 vim /etc/vsftpd/vusers.txt qq cento ...

  6. vsftpd虚拟用户创建实例(转载)

    vsftpd虚拟用户创建实例 发布:theboy   来源:net     [大 中 小] vsftpd虚拟用户创建实例,有需要的朋友可以参考下.  vsftpd虚拟用户创建实例,有需要的朋友可以参考 ...

  7. 《RHEL6.3 FTP服务器虚拟用户的配置(含图)》——如此简单

    虚拟用户就是传说中的ftp服务vip用户,大致分为这么几步: 1.安装ftp软件包 yum install *ftp* 2.启动vsftpd服务 /etc/init.d/vsftpd restart  ...

  8. vsftp虚拟用户登录配置详解

    一.安装:1.安装Vsftpd服务:# yum install vsftpd 2.安装DB4部件包:这里要特别安装一个db4的包,用来支持文件数据库.# yum install db4-utils 二 ...

  9. ubuntu server vsftpd 虚拟用户及目录

    ubuntu server vsftpd 虚拟用户及目录 一:需求场景: 在ubuntu server上开设一个虚拟网站,在网站目录建立一个ftp目录,允许用户通过ftp上传网站文件到网站目录: 同时 ...

随机推荐

  1. libminipng,压缩png的swift-framework

    libminipng 通过lodepng解析png图片,使用pngquant算法进行压缩的swift-framework 方法说明: /// 通过PNG图片Data压缩 /// /// - Param ...

  2. vim使用基础

    vi/vim编辑器使用 前言 There is an old joke about a visitor to New York City asking a passerby for direction ...

  3. Windows 电脑的四种运行状态工作状态 (Working), S0 睡眠状态 (Sleep), S1 或 S3 休眠状态 (Hibernate), S4 关机状态 (Shutdown), S5

    == Windows 电脑的四种运行状态 == 这四种运行状态(或称电源状态)是: 工作状态 (Working), S0 睡眠状态 (Sleep), S1 或 S3 休眠状态 (Hibernate), ...

  4. Python socket 编程实验

    实验内容 1.编写一个基于UDP协议的客户机与服务器程序,实现相互通讯. 2.编写一个基于TCP协议的客户机与服务器程序,实现相互通讯. 3.捕获以上两种通讯的数据包,使用Wireshark进行分析, ...

  5. libvirtd 启动成功,但却没有监听

    现象: 执行 systemctl start libvirtd在其它机器上进行测试是否监听:virsh -c qemu+tcp://host/system libvirtd启动成功,没有报错,但却没有 ...

  6. OpenStack挂载ISO镜像解决

    OpenStack挂载ISO镜像解决 Summary 本次在OpenStack平台上进行,基于kvm,挂载iso镜像到OpenStack虚拟机中. 1.针对linux: 上传所需要挂载的iso镜像(必 ...

  7. 为何存在uwsgi还要使用nginx

    nginx是对外的服务接口,外部浏览器通过url访问nginx,nginx接收到浏览器发送过来的http请求,将包解析分析url,如果是静态文件则直接访问用户给nginx配置的静态文件目录,直接返回用 ...

  8. Django(37)配置django日志

    前言   django框架的日志通过python内置的logging模块实现的,既可以记录自定义的一些信息描述,也可以记录系统运行中的一些对象数据,还可以记录包括堆栈跟踪.错误代码之类的详细信息.   ...

  9. ntp导致的时钟回拨

    ntp导致的时钟回拨 时钟回拨 我们的服务器时间校准一般是通过ntp进程去校准的.但由于校准这个动作,会导致时钟跳跃变化的现象. 而这种情况里面,往往回拨最能引起我们的困扰,回拨如下所示: 会引起什么 ...

  10. 回顾Servlet

    1.新建一个Maven工程当做父工程!pom依赖! <!-- 依赖 --> <dependencies> <dependency> <groupId>j ...