基于vsftpd + pam + mysql实现虚拟用户访问机制
2013-04-23 07:59
1171 查看
前提:准备好一个yum源,我在后面配置中使用到的软件包下载路径:lftp 172.16.0.1:/pub/Sources/vsftpd
一、准备工作
1.安装开发环境和mysql数据库
2.安装pam_mysql-0.7RC1软件包
3.安装vsftpd服务
4.启动mysqld服务
二、创建虚拟用户及账号
1.创建数据库及表
####在这里我们创建一个数据库vsftpd,在该数据库中创建存放虚拟用户名和用户密码的用户表users
2.为用户vsftpd授权
3.在users表中插入虚拟用户及密码
三、配置vsftpd
1.创建pam认证的所需文件
2.创建虚拟用户映射的系统用户及对应的目录
3.修改vsftpd的配置文件,使其支持mysql认证
4.启动vsftpd服务
四、查看vsftpd服务的端口
五、配置虚拟用户的不同访问权限
此时使用虚拟用户登录到ftp服务中,还没有上传、下载、创建、删除等权限;要想使定义的虚拟用户拥有不同的访问权限,需要在配置文件目录下为每个用户提供单独的配置文件以定义其ftp服务访问权限,每一个虚拟用户的配置文件名可以同虚拟用户的用户名。
1.在vsftpd配置文件中为虚拟用户提供配置文件目录
2.创建所需要的目录,并为虚拟用户提供配置文件
六、测试结果
上传文件
创建目录
删除文件
在IE浏览器中测试使用虚拟用户登录ftp服务器
登录成功,并显示创建的目录
本文出自 “奋斗的小鸟” 博客,请务必保留此出处http://luowenjing.blog.51cto.com/6627118/1184035
一、准备工作
1.安装开发环境和mysql数据库
[root@localhost ~]#yum –y groupinstall “Development Tools”“Development Libraries” [root@localhost ~]#yum –y install mysql-server mysql-devel
2.安装pam_mysql-0.7RC1软件包
[root@localhost ~]#lftp 172.16.0.1:/pub/Sources/vsftpd lftp 172.16.0.1:/pub/Sources/vsftpd>get pam_mysql-0.7RC1 lftp 172.16.0.1:/pub/Sources/vsftpd>bye [root@localhost ~]#tar xf pam_mysql-0.7RC1 [root@localhost ~]#cd pam_mysql-0.7RC1 [root@localhost pam_mysql-0.7RC1]#./configure –with-mysql=/usr –with-openssl ####指定mysql数据库安装的路径,同时支持openssl加密功能 [root@localhost pam_mysql-0.7RC1]#make [root@localhost pam_mysql-0.7RC1]#make install
3.安装vsftpd服务
[root@localhost ~]#yum –y install vsftpd
4.启动mysqld服务
[root@localhost ~]#service mysqld start [root@localhost ~]#chkconfig –add mysqld [root@localhost ~]#chkconfig mysqld on
二、创建虚拟用户及账号
1.创建数据库及表
####在这里我们创建一个数据库vsftpd,在该数据库中创建存放虚拟用户名和用户密码的用户表users
2.为用户vsftpd授权
3.在users表中插入虚拟用户及密码
三、配置vsftpd
1.创建pam认证的所需文件
###pam认证文件一般在/etc/pam.d下,为了让文件名看起来一目了然,在pam.d下创建vsftpd.mysql文件 [root@localhost ~]#vim /etc/pam.d/vsftpd.mysql 添加如下内容: auth required /lib/security/pam_mysql.so user=vsftpd passwd=www.magedu.com host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=0 account required /lib/security/pam_mysql.so user=vsftpd passwd=www.magedu.com host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=0 ####创建的用户必须经过pam这个模块认证,否则就不会进行下面的操作 保存退出
2.创建虚拟用户映射的系统用户及对应的目录
[root@localhost ~]#useradd –s /sbin/nologin –d /var/ftproot vuser [root@localhost ~]#chmod go+rx /var/ftproot ###使系统用户vuser的家目录任何人都有执行权限
3.修改vsftpd的配置文件,使其支持mysql认证
在vsftpd配置文件中,一定要启用的选项: anonymous_enable=YES local_enable=YES write_enable=YES anon_upload_enable=NO anon_mkdir_write_enable=NO chroot_local_user=YES 需要添加的选项: guest_enable=YES guest_username=vuser ###启动来宾用户访问功能,并指定来宾用户为vuser pam_service_name=vsftpd.mysql ##指定pam认证的pam文件名 保存退出
4.启动vsftpd服务
[root@localhost ~]#chkconfig –add vsftpd [root@localhost ~]#chkconfig vsftpd on [root@localhost ~]#service vsftpd start
四、查看vsftpd服务的端口
五、配置虚拟用户的不同访问权限
此时使用虚拟用户登录到ftp服务中,还没有上传、下载、创建、删除等权限;要想使定义的虚拟用户拥有不同的访问权限,需要在配置文件目录下为每个用户提供单独的配置文件以定义其ftp服务访问权限,每一个虚拟用户的配置文件名可以同虚拟用户的用户名。
1.在vsftpd配置文件中为虚拟用户提供配置文件目录
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf 添加一项: user_config_dir=/etc/vsftpd/vusers 保存退出
2.创建所需要的目录,并为虚拟用户提供配置文件
[root@localhost ~]#mkdir /etc/vsftpd/vusers [root@localhost ~]#cd /etc/vsftpd/vusers [root@localhost vusers]#touch tom jerry [root@localhost vusers]#vim jerry ####在下面的演示中我只为jerry用户设置不同的访问权限,tom用户的访问权限设定方法和jerry的是相同的 添加选项: anon_upload_enable=YES ###开启虚拟用户的上传功能 anon_mkdir_write_enable=YES ###开启虚拟用户的创建功能 ####可以根据个人的需要添加相应的功能,每一项选项只对应一种功能实现
六、测试结果
上传文件
创建目录
删除文件
在IE浏览器中测试使用虚拟用户登录ftp服务器
登录成功,并显示创建的目录
本文出自 “奋斗的小鸟” 博客,请务必保留此出处http://luowenjing.blog.51cto.com/6627118/1184035
相关文章推荐
- vsftpd的基于pam_mysql的虚拟用户机制实现数据传输
- vsftpd的基于pam_mysql的虚拟用户机制
- vsftpd基于pam_mysql的虚拟用户访问
- 基于vsftpd+pam+mysql架设ftp并实现虚拟用户登录
- 创建vsftpd的基于pam_mysql的虚拟用户机制
- FTP基于PAM和MySQL/MariaDB实现虚拟用户访问控制
- FTP基于PAM和MySQL/MariaDB实现虚拟用户访问控制 推荐
- vsftpd基于pam_mysql的虚拟用户机制
- vsftpd的基于pam_mysql的虚拟用户机制
- vsftpd的基于pam_mysql的虚拟用户机制
- vsftpd基于pam_mysql的虚拟用户机制
- 基于vsftpd+pam+mysql架设ftp并实现虚拟用户登录
- vsftpd基于pam_mysql的虚拟用户机制
- vsftpd+pam+mysql实现虚拟用户访问控制
- FTP服务系列之vsftpd+pam+mysql实现虚拟用户认证
- vsftpd-2.0.5+mysql-5.5+pam_mysql构建虚拟用户访问
- vsftpd基于pam_mysql做虚拟用户认证
- vsftpd基于pam_mysql的认证和hash编码的方式配置虚拟用户
- CentOS6.3+vsftpd+mysql+pam_mysql实现虚拟用户管理的ftp服务器
- vsftpd基于pam_mysql mysql 虚拟用户认证