Vsftpd虚拟用户登陆配置(Centos7)
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)的更多相关文章
- Ubuntu 12.04 LTS为例演示vsftpd虚拟用户 的配置
vsftpd虚拟用户 2012-05-19 15:46:59| 分类: GNU/Linux | 标签:ubuntu vsftpd ftp 虚拟用户 |举报|字号 订阅 我们登录FTP有 ...
- 烂泥:ubuntu下vsftpd虚拟用户配置
本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我微信ilanniweb. 以前搭建vsftpd都是在centos下,本以为在ubuntu按照以前的步骤搭建即可.可 ...
- vsftpd 虚拟用户配置
vsftpd 虚拟用户的作用是 通过不同的虚拟用户可以有不同的根目录. 从 2.3.5 版本之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能在具有写权限了,如果检查 ...
- VSFTPD虚拟用户配置
转载:http://www.cnblogs.com/allenjin/archive/2011/12/03/2274542.html 以下操作验证OK!!!! VSFTPD虚拟用户配置 VSFTP = ...
- FTP服务-实现vsftpd虚拟用户
前几篇介绍了基础,这篇将具体实现几个案例 实现基于文件验证的vsftpd虚拟用户,每个用户独立一个文件夹 1.创建用户数据库文件 vim /etc/vsftpd/vusers.txt qq cento ...
- vsftpd虚拟用户创建实例(转载)
vsftpd虚拟用户创建实例 发布:theboy 来源:net [大 中 小] vsftpd虚拟用户创建实例,有需要的朋友可以参考下. vsftpd虚拟用户创建实例,有需要的朋友可以参考 ...
- 《RHEL6.3 FTP服务器虚拟用户的配置(含图)》——如此简单
虚拟用户就是传说中的ftp服务vip用户,大致分为这么几步: 1.安装ftp软件包 yum install *ftp* 2.启动vsftpd服务 /etc/init.d/vsftpd restart ...
- vsftp虚拟用户登录配置详解
一.安装:1.安装Vsftpd服务:# yum install vsftpd 2.安装DB4部件包:这里要特别安装一个db4的包,用来支持文件数据库.# yum install db4-utils 二 ...
- ubuntu server vsftpd 虚拟用户及目录
ubuntu server vsftpd 虚拟用户及目录 一:需求场景: 在ubuntu server上开设一个虚拟网站,在网站目录建立一个ftp目录,允许用户通过ftp上传网站文件到网站目录: 同时 ...
随机推荐
- 3.13eval函数
eval 函数 eval() 函数十分强大 -- 将字符串 当成 有效的表达式 来求值 并 返回计算结果 ```python 基本的数学计算 In [1]: eval("1 + 1" ...
- 10.7 netstat:查看网络状态
netstat命令 用于显示本机网络的连接状态.运行端口和路由表等信息. netstat命令的参数选项及说明 -r 显示路由表信息,该功能类似于前面学过的route 和ip route-g 显示多播功 ...
- Api网关Kong集成Consul做服务发现及在Asp.Net Core中的使用
写在前面 Api网关我们之前是用 .netcore写的 Ocelot的,使用后并没有完全达到我们的预期,花了些时间了解后觉得kong可能是个更合适的选择. 简单说下kong对比ocelot打动我的 ...
- [leetcode] 75. 分类颜色(常数空间且只扫描一次算法)
75. 分类颜色 我们直接按难度最高的要求做:你能想出一个仅使用常数空间的一趟扫描算法吗? 常数空间 只能扫描一趟.注意,是一趟,而不是O(n) 题中只会出现3个数字:0,1,2.换句话说,0肯定在最 ...
- Python发送SMTP邮件指南
SMTP(Simple Mail Transfer Protocol)简单邮件传输协议,Python内置对SMTP的支持,可以发送纯文本文件,HTML邮件以及附带文件. 一.两个模块 Pyth ...
- HTML <a> 标签的 href 属性
w3school页面的描述: HTML <a> 标签的 href 属性 HTML <a> 标签 实例 href 属性规定链接的目标: <a href="http ...
- MLIR算子量化Quantization
MLIR算子量化Quantization 本文概述了MLIR量化系统的设计.虽然术语"量化"是高度过载的,用于将浮点计算转换为以整数数学表示,适配的变量进行推理的技术的相当窄的范围 ...
- TVM 架构设计
TVM 架构设计 本文面向希望了解TVM体系结构和/或积极参与项目开发的开发人员. 主要内容如下: 示例编译流程概述了TVM将模型的高级概念转换为可部署模块的步骤. 逻辑架构组件部分描述逻辑组件.针对 ...
- 5G和AI机器人平台为工业4.0和无人机提供服务
5G和AI机器人平台为工业4.0和无人机提供服务 Qualcomm 5G and AI robotics platform delivers for Industry 4.0 and drones 高 ...
- 使用multus实现管理网和业务网分离——calico和flannel共存
多个网络层面的需求 一开始为k8s集群搭建了calico网络,所有的容器都用calico对应的网卡进行通信.为了实现网络监控的清爽,想把管理组件,例如日志.统计.监控等组件挪到另外一个网络.于是产生一 ...