vsftpd的基于pam_mysql的虚拟用户机制
vsftpd的基于pam_mysql的虚拟用户机制
虚拟用户:是
ftp
中常用的一种策略,因为ftp
服务古老而且不安全,使用匿名用户
不能有效的控制权限,而本地用户
可以登录操作系统,极为不安全,所以引入了虚拟用户
的概念,其只是将多个虚拟用户映射为一个本地用户,此用户可以设置不允许登录,从而加强了系统的安全性,本问主要介绍基于mysql
的虚拟用户
配置
pam_mysql
下载地址:pam-mysql.sourceforge.net # yum -y groupinstall "Development Tools" "Server Platform Development" # yum -y install pam-devel openssl-devel mariadb-devel # ./configure --with-mysql=/usr --with-openssl=/usr --with-pam=/usr --with-pam-mods-dir=/lib64/security # make && make install 安装后模块路径:/usr/lib64/security/pam_mysql.so
mariadb
配置
创建所需数据库和表,插入所需用户,这里的密码使用password
加密方式加密
MariaDB [(none)]> CREATE DATABASE ftpdb; MariaDB [ftpdb]> CREATE TABLE users (id int AUTO_INCREMENT PRIMARY KEY,name char(30) NOT NULL,password char(48)); MariaDB [ftpdb]> INSERT INTO users(name,password) VALUES ('tom',password('tom')); MariaDB [ftpdb]> INSERT INTO users(name,password) VALUES ('jerry',password('jerry')); MariaDB [ftpdb]> SELECT * FROM users; +----+-------+-------------------------------------------+ | id | name | password | +----+-------+-------------------------------------------+ | 1 | tom | *71FF744436C7EA1B954F6276121DB5D2BF68FC07 | | 2 | jerry | *09FB9E6E2AA0750E9D8A8D22B6AA8D86C85BF3D0 | +----+-------+-------------------------------------------+ MariaDB [(none)]> GRANT ALL ON ftpdb.* TO vsftpuser@'172.18.%.%' IDENTIFIED BY 'vsftpuser'; MariaDB [ftpdb]> FLUSH PRIVILEGES;
修改
pam
配置文件,添加配置
# vim /etc/pam.d/vsftpd.mysql auth required /usr/lib/security/pam_mysql.so user=vsftpuser passwd=vsftpuser host=172.18.4.70 db=ftpdb table=users usercolumn=name passwdcolumn=password crypt=2 account required /usr/lib/security/pam_mysql.so user=vsftpuser passwd=vsftpuser host=172.18.4.70 db=ftpdb table=users usercolumn=name passwdcolumn=password crypt=2
添加
虚拟用户
映射用户
# useradd -s /sbin/nologin -d /ftproot vuser # chmod -w /ftproot # mkdir /ftproot/{download,upload} # 建议创建目录在子目录中赋予权限 # chown vuser.vuser /ftproot/{download,upload}
注意:CentOS 7后对vsftpd的权限限制更为严格,所以用户家目录不应有写权限,如果需要设置写权限,需在目录下创建子目录即可。
修改其权限保证用户可
进入
可读取
# chmod go+rx /ftproot/
修改配置文件:
/etc/vsftpd/vsftpd.conf
必须选项
修改pam认证模块为vsftpd.mysql:pam_service_name=vsftpd.mysql 保证下面三项开启:anonymous_enable=YESlocal_enable=YESwrite_enable=YES 添加:guest_enable=YESguest_username=vuser
可选选项
chroot_local_user=YES # 基于安全考虑建议开启 anon_upload_enable=YES # 用户可上传文件 anon_mkdir_write_enable=YES #用户科协 anon_other_write_enable=YES #除了上传和写入的其他权限 # 因为虚拟用户基于匿名用户,所以权限控制可以基于匿名用户使用。
设置用户可上传并测试
单独用户权限控制
编辑配置文件:
/etc/vsftpd/vsftpd.conf
添加对应目录:
user_config_dir=/etc/vsftpd/vuser.conf.d
创建对应目录:
mkdir /etc/vsftpd/vuser.conf.d
创建对应用户名的文件:
touch tom jerry
修改文件,添加权限即可
实例:控制
tom
用户可上传,jerry
用户不可上传
1、创建对应目录及修改配置文件
mkdir /etc/vsftpd/vuser.conf.d echo "user_config_dir=/etc/vsftpd/vuser.conf.d" >> /etc/vsftpd/vsftpd.conf
2、设置文件系统及用户权限
echo "anon_upload_enable=YES" >>/etc/vsftpd/vuser.conf.d/tom echo "anon_upload_enable=NO" >>/etc/vsftpd/vuser.conf.d/jerry chown -R vuser.vuser /ftproot/upload
3、重启服务并测试
systemctl restart vsftpd.service
对于vsftpd就写到这里了,感觉写的不错可以给点个赞。
作者:Ace
QQ1257465991
Linux运维攻城狮一只
Q/A:如有问题请慷慨提出
转载于:https://blog.51cto.com/xinzong/1767316
vsftpd的基于pam_mysql的虚拟用户机制相关推荐
- vsftpd的基于pam_mysql的虚拟用户机制实现数据传输
vsftpd基于mysql服务实现: 查看是maradb中是否有pam-mysql,在目录/lib64/security/下. 没有就编译安装pam-mysql 步骤: 1. # yum -y gr ...
- vsftpd基于mysql_vsftpd的基于pam_mysql的虚拟用户配置示例
~]# yum install mariadb-server ~]# yum install vsftpd 因为中CentOS 7平台上/lib64/security/中没有pam_mysql模块驱动 ...
- vsftpd安装以及配置FTP虚拟用户实践
前言正如vsftpd官方宣传中所说Probably the most secure and fastest FTP server for UNIX-like systems.我相信这是大多数人选择vs ...
- linux虚拟用户创建目录权限不足,在CentOs中安装vsFtpd并创建多个虚拟用户,且不同的用户拥有不同的权限以及指向不同的文件夹...
在vsftpd中要实现不同用户不同权限,可以利用虚拟用户来实现. vsftpd的本地用户本身是系统的用户,除了可以登录FTP服务器外,还可以登录系统使用其他系统资源,而vsftpd的虚拟用户则是FTP ...
- ftp服务器 vsftpd搭建和配置以及虚拟用户的设置
tp: File Transfer Protocol应用层协议:tcp, 21/tcpC/S:Client: 程序Server: 程序数据:命令连接:文件管理类命令,始终在线的连接数据连接:数据传输, ...
- mysql5.5 vsftpd_vsftpd-2.0.5+mysql-5.5+pam_mysql构建虚拟用户访问
一, 实验环境:redhat 5.8,软件版本:vsftpd-2.0.5-24.el5, pam_mysql-0.7RC1.tar.gz,mysql-5.5.25a.tar.gz,cmake-2.8. ...
- vsftpd + Berkeley DB 创建基于虚拟用户的FTP
FTP协议以快速著称,vsftp 号称安全的FTP,是目前主流的FTP服务器软件. 本文创建基于 Berkeley DB 虚拟用户的VSFTP服务器 环境:CentOS 6.4 x86_64 1.安装 ...
- 两种方式建立Vsftpd虚拟用户
http://blog.51cto.com/yuanbin/129071 两种方式建立Vsftpd虚拟用户 我们登录FTP有三种方式,匿名登录.本地用户登录和虚拟用户登录. 匿名登录:在登录FTP时使 ...
- VSFTPD的虚拟用户管理配置
上一节我们通过系统用户完成了VSFTPD的部署,现在DB工具实现虚拟用户的管理.文章只是自己工作中的使用说明如有写作错误,欢迎大家指出错误.... 三.虚拟用户 需求:建立user1.user2两个用 ...
最新文章
- 初学jQuery之jQuery虚假购物车-------与真实数据无关
- HashMap源代码深入剖析
- python读写json_python 读写json数据
- 第六章 文件I/O编程 [notice select() at RIL.pdf] [串口开发]
- VS2010: Microsoft.TeamFoundation.PowerTools.CheckinPolicies.ChangesetComments 未注冊
- 正则表达式替换字符串
- Atitit 艾提拉总结的操作硬件解决方案 目录 1.1. Atitit 列出wifi热点以及连接	1 1.2. 剪贴板	1 1.3. 屏幕 触摸与截屏	1 1.4. 性能 cpu 内存 硬盘 资源
- pdf2image报错,pdf2image完整安装
- 网站优化快速排名软件大全
- 手把手搭建K3cloud插件开发环境
- 机器学习(一)线性模型之岭回归器RidgeRegressor
- 使用COMSOL提取指定时刻固体火箭发动机内的流体域(观点)
- ESXI安装部署方法
- 四年背的单词 笔记目录
- 【Python计量】statsmodels对虚拟变量进行回归
- 立体栅格地图_三维栅格地图构建之三:点集到栅格的投射
- 人工智能兴起的条件_跟我说规矩。 AI受虐狂的兴起
- mockito简要教程
- 2019世界智能网联汽车大会10月召开
- 【体感游戏】没有iPhone也能玩AIWI
热门文章
- AttributeError: 'NoneType' object has no attribute 'grid'报错解决方案
- 图像恢复迭代算法的加速
- 【每周CV论文】深度学习图像降噪应该从阅读哪些文章开始
- 中国汽车融资租赁业运营前景与投资战略规划报告2022-2028年版
- 中国照明市场运营现状及发展前景分析报告2021年版
- python程序基础书写文本_Python基础手册4——文本结构
- 中非谋定农业合作 -农业大健康·万祥军:提供农业解决方案
- git 常用操作命令(Common operation)
- FileStream实现多线程断点续传(已封装)
- LeetCode(69):x 的平方根