Linux-ftp虚拟用户配置
云服务器ESC 部署vsftpd 虚拟用户
说明:云服务器部署和本地服务器部署一样,都需要开通指定的相应端口,只不过云服务器需要在安全组规则中打开相应的端口允许通过。
环境说明:
对应的用户对应不同的密码,对应不同的数据目录,如下图:

具体步骤
1) 安装软件
# yum -y install vsftpd
2) 创建相应的ftp数据目录
# mkdir -p /opt/ftp/{come,out}
3) 创建一个用户提供给虚拟用户使用
# useradd -s /sbin/nologin virtual
4) 将ftp数据目录设置成virtual用户
# chown virtual. /opt/ftp/ -R
# ll /opt/ftp/
total
drwxr-xr-x virtual virtual Apr : come
drwxr-xr-x virtual virtual Apr : out
5) 创建虚拟帐号与密码的文本文件(一行账号,一行密码, 注意不要有多余的空格)
# vim /etc/vsftpd/logins.txt
ftpComeSsbq
ftp_come_#@UkieO9
ftpOutSsbq
ftp_out_#@45oUkie
6) 将创建好的密码文件txt格式转换db格式
# db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/login.db
7) 定义db文件的权限
# chmod /etc/vsftpd/login.db
8) 定义pam认证文件(注意:db=/etc/vsftpd/login 文件就是上面生成的login.db文件;省略后缀.db)
# vim /etc/pam.d/ftp
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/login
9) 配置vsftpd主配置文件 (guest_username=virtual 对应上面创建的用户)
# vim /etc/vsftpd/vsftpd.conf
#禁止匿名登录FTP服务器
anonymous_enable=NO
#允许本地用户登录FTP服务器
local_enable=YES
#可以上传(全局控制)
write_enable=NO
#匿名用户可以上传
anon_upload_enable=NO
#匿名用户可以建目录
anon_mkdir_write_enable=NO
#匿名用户修改删除
anon_other_write_enable=NO
#全部用户被限制在主目录
chroot_local_user=YES #2.3.5版本之后,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了,需新增加下面这条配置
#allow_writeable_chroot=YES #将所有用户看成虚拟用户guest
guest_enable=YES
#指定虚拟用户,也就是将guest用户映射到virtual用户
guest_username=virtual
#指定为独立服务
listen=YES
#指定监听的端口
listen_port=21
#开启被动模式
pasv_enable=YES
#FTP服务器公网IP
pasv_address=<FTP服务器公网IP>
#设置被动模式下,建立数据传输可使用port范围的最小值
pasv_min_port=10000
#设置被动模式下,建立数据传输可使用port范围的最大值
pasv_max_port=10088
#是否允许匿名用户下载全局可读的文件
anon_world_readable_only=NO
#指定虚拟用户配置文件的路径
user_config_dir=/etc/vsftpd/user_conf
10) 创建上面配置文件中指定的子配置文件目录 user_conf
# mkdir /etc/vsftpd/user_conf
11) 定义 ftpComeSsbq 用户的配置文件(注意:这里创建配置用户配置文件的文件名必须与上面创建的用户名一致)
# vim /etc/vsftpd/user_conf/ftpComeSsbq
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=/opt/ftp/come
12) 定义 ftpOutSsbq 用户的配置文件
# vim /etc/vsftpd/user_conf/ftpOutSsbq
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=/opt/ftp/out
13) 启动vsftpd
# service vsftpd start
14) 测试
- 使用 lftp 测试,格式为:lftp 用户名:密码@ftp地址:传送端口(默认21端口,如果是21端口则可以不用添加)
[root@srt_aliyun_39 ~]# lftp ftpComeSsbq:ftp_come_#@UkieO9@120.79.xx.xx
lftp ftpComeSsbq@120.79.xx.xx:~> pwd
ftp://ftpComeSsbq:ftp_come_#%40UkieO9@120.79.xx.xx
lftp ftpComeSsbq@120.79.xx.xx:~> mkdir test
mkdir ok, `test' created
lftp ftpComeSsbq@120.79.xx.xx:/> ls
drwx------ 2 506 506 4096 Apr 17 05:32 test
lftp ftpComeSsbq@120.79.xx.xx:/> rm -rf test/
rm ok, `test/' removed - 使用 windows 文件夹测试 格式:ftp:ftp地址 (说明:打开ftp被动模式,控制面板 > 网络和Internet > Internet 选项 > 高级 。勾选 启用 FTP 文件夹视图,勾选 使用被动 FTP。)

- 浏览器测试:ftp://ftp地址

至此就完成了 ftp 虚拟用户的部署。
Linux-ftp虚拟用户配置的更多相关文章
- linux ftp虚拟用户的创建
学习目标: 匿名用户的登录,添加用户的登录,虚拟用户的创建. 虚拟用户的创建: 1.安装:yum -y install vsftpd 服务端 yum -y install ftp ...
- Linux 下 FTP虚拟用户的使用配置
Linux下FTP虚拟用户的使用配置 Linux的FTP服务支持3种用户: 1.匿名帐户 2.本地帐户 3.虚拟用户 为什么要使用虚拟用户: 匿名帐户可以很好的保证FTP服务器的安全性,但是,对匿名用 ...
- Linux:ftp服务本地用户,虚拟用户配置
本地用户 1. 修改ftp配置文件, anonymous_enable=NO 默认为YES,修改为NO,禁止匿名访问, 监听端口,可以根据自己的需求修改,为了安全起见自定义为好 2. /etc/ ...
- 最简洁粗暴版的虚拟用户配置FTP
最简洁粗暴版的虚拟用户配置FTP yum安装FTP: yum install vsftpd pam* db4* -y 设置为系统服务:chkconfig –level 35 vsftpd on 2.v ...
- FTP服务器虚拟用户配置
FTP服务配置问题及解决方案 使用被动模式,设置云主机IP为被动模式数据传输地址:在配置文件内添加 pasv_enable=YES pasv_promiscuous=YES pasv_address= ...
- vsftpd安装及虚拟用户配置
服务器环境:CentOS6.9 Linux 2.6.32-696.10.1.el6.x86_64 安装vsftpd.db4.db4-utils # yum -y install vsftpd db4 ...
- CentOS7安装vsftpd3.0.2、以及虚拟用户配置
vsftpd(very secure ftp daemon)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费,还具有很高的安全性.传输速度,以及支持虚拟用户验证. vsftpd ...
- VSFTPD虚拟用户配置
转载:http://www.cnblogs.com/allenjin/archive/2011/12/03/2274542.html 以下操作验证OK!!!! VSFTPD虚拟用户配置 VSFTP = ...
- 007.FTP虚拟用户访问
一 虚拟用户优点 可对每个用户进行单独设定权限. 每个用户单独配置文件,单独指定主目录,而不能访问系统的其它资源. 注意:虚拟用户目录和本地用户访问目录不冲突. 二 配置虚拟用户步骤 添加虚拟用户口令 ...
随机推荐
- 戏说程序猿之cannot find the object
“别开玩笑了,程序员哪里需要对象!” 程序员难找对象原因无非如下: 1.工作时间长,恋爱时间少 2.性格偏于内向,不主动 3.不注意个人形象 程序员爱情观: 爱情就是死循环,一旦执行就陷进去了: 爱上 ...
- 高并发系统保护~ing
由于公司业务发展,需要考虑一些高并发系统保护的问题,整理记录一下. 当发现你的系统出现访问卡顿,服务器各种性能指标接近100%(如果一个初创型企业系统正常运行情况下出现这个问题,那么应该恭喜你,你懂得 ...
- asp.net Core HttpClient 出现Cannot access a disposed object. Object name: 'SocketsHttpHandler' 的问题。
ASP.NET Core 部署在Centos 中 偶尔出现 One or more errors occurred. (Cannot access a disposed object.Object n ...
- 观察者模式与.Net Framework中的委托与事件
本文文字内容均选自<大话设计模式>一书. 解释:观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够 ...
- 【修复】当Deepin开机进入BusyBox时修复
第一次发生这种状况,是因为上一次关机时我直接断电了(并非故意的,我用了deepin一个月出了好几次关机后死机╮(╯▽╰)╭) 参考: 爱之墨色(完美解决)linux 开机进入initramfs无法开机 ...
- 原生jQuery代码
function myJquery(selector){ if(typeof selector=="string") { if (selector.charAt(0) == &qu ...
- 【NodeJS】基础知识
nodejs基础 nodejs允许自己封装模块,使得编写程序可以模块化,便于维护整理.在一个js文件中写完封装的函数或对象后,可以使用exports或module.exports来将模块中的函数暴露给 ...
- django 时区和系统(ubuntu)时区修改
django时区默认使用UTC,中国人使用CST东八区. settings.py改为上海时区 #settings.py TIME_ZONE = 'Asia/Shanghai' # True:使用UTC ...
- ASP.NET学习笔记 —— 一般处理程序之图片上传
简单图片上传功能目标:实现从本地磁盘读取图片文件,展示到浏览器页面.步骤:(1). 首先创建一个用于上传图片的HTML模板,命名为ImageUpload.html: <!DOCTYPE html ...
- 一个简易的kmp教学并给出java实现
简单介绍一下问题 给定source字符串,找出target字符串出现的首位 例如 source 为“abddabddabc” target 为 “abddabc” 从第一位开始比较 |a b d ...