vsftp 使用虚拟用户
配置的思路:使用帐号和密码登录FTP服务器,每个用户只能登录到自己用户名的目录中,可以增删改查文件。 -- 使用VSFTP的虚拟用户和chroot目录的配置。
安装vsftp。使用pam管理vsftp的虚拟用户。
vsftp使用的目录/ftp vsftp使用的本地用户:vsftpd
因为是使用vsftpd的虚拟用户,所以我们需要先在系统中创建一个用户,并且该用户对/ftp目录具有可读可写可执行权限。
在iptables中开放20、21、被动模式端口范围(30000-35000),并加载FTP驱动模块
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
/etc/vsftpd.conf文件内容
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
# 指定vsftp欢迎信息及日志记录格式和日志文件路径
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ftpd_banner=Welcome to nixCraft ftp server
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_enable=NO
allow_writeable_chroot=YES
# 使用的本地账户的名称
guest_enable=YES
guest_username=vsftpd
secure_chroot_dir=/var/run/vsftpd/empty
# 指定使用pam.d目录中的哪个文件
pam_service_name=vsftpd
# 启用被动模式、被动模式使用的端口号范围及被动模式使用的公网IP
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=61.139.2.69
#虚拟用户目录
user_config_dir=/etc/vsftpd/user_conf
# vsftp使用ssl key方式
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
#结合/etc/hosts.allow和/etc/hosts.deny限制ip访问vsftpd服务。
tcp_wrappers=YES
修改/etc/hosts.deny
加入vsftpd : ALL
修改/etc/hosts.allow
加入vsftpd:.admin99.net
vsftpd:192.168.0.
vsftpd:192.168.0.0/255.255.255.0
第一行表示,只有admin99.net这个域里的主机允许访问vsftpd服务,注意admin99.net前面的那个点(.);
/第二行表示,只有192.168.0这个网段的用户允许访问vsftpd服务,注意0后面的点(.);
第三行表示,只有192.168.0这个网段的用户允许访问vsftpd服务,注意这里不能写为192.168.0.0/24。
/etc/pam.d/vsftpd文件内容 ,这个文件就是使用的用户名和密码的txt生成的db数据文件。/etc/vsftpd/user_config这个文件就是.db文件路径
auth sufficient pam_userdb.so db=/etc/vsftpd/user_config
account sufficient pam_userdb.so db=/etc/vsftpd/user_config
虚拟用户配置文件内容/etc/vsftpd/user_conf/username
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/ftp/FTPUser
该配置内容为具有可读可写权限。
创建一个本地系统用户
useradd vsftpd -d /ftp -s /bin/false
chown vsftpd:vsftpd /ftp
创建文本文件loguser.txt
格式如下:
username
password
于是,我们/home/loguser.txt文件的内容为
cd /home 切换到/home目录
sudo touch /home/loguser.txt 创建账户和密码文件
sudo gedit /home/loguser.txt
然后将下面的账户文件字符粘帖入loguser.txt中,注意一行一行输入。
注意:奇数行为账户名,偶数行为密码。也就是1.3.5.等行为用户名,2.4.6行为密码;
最后一行需要回车(否则建立数据库文件时无法识别最后一行,导致报奇数行错误)。
db1
db100
db2
db200
db3
db300
test
生成数据库
sudo db_load -T -t hash -f /home/loguser.txt /etc/vsftpd_login.db
最后设置一下数据库文件的访问权限
sudo chmod 600 /etc/vsftpd_login.db
在ubuntu下要启动、停止、重启vsftpd,我们必须使用以下命令:
sudo service vsftpd stop
sudo service vsftpd start
sudo service vsftpd restart
vsftp配置ssl
1.生成证书
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
2.在vsftpd.conf配置文件中增加ssl配置项
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
配置强制使用ssl
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
After this we configure the server to use TLS, which is actually a successor to SSL, and preferred:
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
Finally, we will require add some additional options to flesh out our configuration file:
require_ssl_reuse=NO
ssl_ciphers=HIGH
总结:vsftp使用虚拟用户访问主要使用了单用户配置的方式。
使用了pam模块。在使用虚拟用户上传下载文件的时候映射到本地新建的用户。
本文转自ting2junshui51CTO博客,原文链接: http://blog.51cto.com/ting2junshui/1843958,如需转载请自行联系原作者
vsftp 使用虚拟用户相关推荐
- vsftp建立虚拟用户不同目录分配不同权限操作步骤详解
这篇文章主要介绍了vsftp建立虚拟用户不同目录分配不同权限操作步骤详解,大家参考设置自己的FTP服务器吧vsftpd服务器同时支持匿名用户.本地用户和虚拟用户三类用户账号,使用虚拟用户账号可以提供集 ...
- 让Vsftp支持虚拟用户
让Vsftp支持虚拟用户 --转载 http://blog.chinaunix.net/uid-317994-id-2133014.html 很早 ...
- centos5.8 安装配置vsftp虚拟用户
vsftp因为公司时不时要用,也不是经常弄ftp,不常用就老是忘记有些东西,所以就在网上查些资料和自己遇到的一些问题结合起来写一个文档,以后需要使用ftp的时候搭建比较方便,使用虚拟用户不用担心用户登 ...
- VSFTPD的虚拟用户管理配置
上一节我们通过系统用户完成了VSFTPD的部署,现在DB工具实现虚拟用户的管理.文章只是自己工作中的使用说明如有写作错误,欢迎大家指出错误.... 三.虚拟用户 需求:建立user1.user2两个用 ...
- centos创建vsftpd虚拟用户
CentOS Vsftpd服务器(虚拟用户建立) 一.安装vsftpd服务相关组件 需要安装组件vsftpd pam db4 db4-utils [root@CentOS /]# yum -y ins ...
- Vsftp与PAM虚拟用户
Vsftp与PAM虚拟用户 使用yum 安装vsftp yum install vsftpd pam pam-* db4 db4-* 创建一个保存用户及密码的文件 cd /etc/vsftpd/ to ...
- vsftp虚拟用户无法上传文件,解决办法
vsftp虚拟用户无法上传文件,解决办法 1.打开/etc/vsftpd 目录中的vsftpd.conf文件,查找:guest_username=xxx,这里指的是vsftpd虚拟用户对应的实 际系统 ...
- centos安装vsftp后的虚拟用户设置
2019独角兽企业重金招聘Python工程师标准>>> 安装好vsftpd之后,有的时候需要配置虚拟用户,可以先写一个login.txt,奇数行为用户名,偶数为用户名密码,例如: u ...
- 使用vsftp虚拟用户实现安全访问控制
一.ftp连接方式 1.命令连接 ftp在与用户交互时,首先打开的是TCP的21号端口,建立命令连接,这个连接会始终存在,直到用户输入bye的那一刻,才断开命令连接. 2.数据连接 1)主动连接 主动 ...
最新文章
- 10分钟掌握RocketMQ的核心知识
- 用R语言把数据玩出花样
- Python3 property属性
- 修改UBOOT和LINUX调试串口(TI达芬奇芯片--DM6467)
- volatile、static
- wx.checkjsapi是写在config里面吗_用Python写一个程序,解密游戏内抽奖的秘密
- c语言数据结构插入算法说明,C语言数据结构插入算法
- srsLTE源码学习:NAS非接入层、PDCP分组数据汇聚协议、PDU 协议数据单元 头文件
- sql:命名管道管道程序_学习SQL:命名约定
- java生成sm4算法的对称密钥_技术分享丨这是一篇简单的小科普——什么是对称加密算法?(下)...
- ES6 走马观花(ECMAScript2015 新特性)
- 算法洗脑系列(8篇)——第四篇 枚举思想
- 网易云音乐歌词下载 C#
- 天然气压缩因子计算软件_天然气压缩机组安全阀的设置
- java 字符串中提取数字_java从字符串中提取数字的简单实例
- 计算机清理垃圾代码,你也可以写代码系列,一键清除系统垃圾文件的代码(超简单)-清除垃圾文件...
- 从转载阿里开源项目 Egg.js 技术文档引发的“版权纠纷”,看宽松的 MIT 许可该如何用?
- 计算机启动修复怎么还原,电脑开机出现系统恢复选项该怎么办
- 仓库设计之ER图箭头讲解
- 植物大战僵尸中文年度版
热门文章
- 第四:Pytest框架之命令行参数(二)
- 第一:MySQL安装和配置(超详细)
- python同花顺交易接口_开启量化第一步!同花顺iFinD数据接口免费版简易操作教程...
- Node.js运行模式与应用组成部分
- [Ext JS 4] 实战之 ComboBox 和 DateField (消失之解决办法)
- Ext3 -- Form 实例。 用来migrate file 数据到DB用的
- tomcat内存优化
- 自己的php网站没有referer,缺少php – $_SERVER [‘HTTP_REFERER’]
- php curl post上传图片,php curl上传图片问题
- K-th Number