免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 795 | 回复: 0
打印 上一主题 下一主题

转:vsftpd+mysql虚拟用户 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-28 03:52 |只看该作者 |倒序浏览
  
vsftp+mysql虚拟用户
1、vsftp的安装
tar xvzf  vsftpd-2.0.4.tar.gz
cd vsftpd-2.0.4
make
添加nobody用户
adduser nobody
mkdir /var/ftp
useradd -d /var/ftp ftp
如果你的系统已经存在有ftp用户的话,使用下面的命令更改目录属主和用户目录:
#chown root.root /var/ftp
#chmod og-w /var/ftp
make install
注意会提示cannot create regular file `/usr/local/man/man8/vsftpd.8': No such file or directory,这是因为我的系统中没有man8目录,所以手工把它拷上即可。现在只是把执行文件cp了一下,其它conf文件还是要用手工cp的
cp vsftpd.conf /etc/
2、创建guest
VSFTPD采用PAM方式验证虚拟用户。由于虚拟用户的用户名/口令被单独保存,因此在验证时,VSFTPD需要用一个系统用户的身份来读取数据库文件或数据库服务器以完成验证,这就是VSFTPD的guest用户。这正如同匿名用户也需要有一个系统用户ftp一样。当然,我们也可以把guest用户看成是虚拟用户在系统中的代表。下面在系统中添加vsftpdguest用户,作为VSFTPD的guest。
useradd vsftpdguest
3、设置VSFTPD配置文件
在/etc/vsftpd.conf文件中,加入以下选项:
guest_enable=YES
guest_username=vsftpdguest
4、设置数据库
我们建立数据库vsftpdvu,表user,字段name和passwd用于保存虚拟用户的用户名和口令,同时增加一个虚拟用户xiaotong,然后,授权vsftpdguest可以读vsftpdvu数据库的users表
mysql>create database vsftpdvu;
mysql>use vsftpdvu;
mysql>create table user(name char(16) binary,passwd char(16) binary);
mysql>insert into user(name,passwd) values ('xiaotong',password('qqmywife'));
mysql>grant select on vsftpdvu.user to
[email=vsftpdguest@localhost]vsftpdguest@localhost[/email]
identified by 'i52serial0';
5、安装pam_mysql
tar xvzf pam_mysql-0.6.2.tar.gz
cd pam_mysql-0.6.2
./configure --with-mysql=/usr/local/mysql --with-ssl 若不加--with-ssl,make时会出现md5.h错误
make
make install
vi /etc/pam.d/ftp
auth required /usr/lib/security/pam_mysql.so user=vsftpdguest
[email=passwd=wk@wei1213]passwd=wk@wei1213[/email]
host=localhost db=vsftpdvu table=user  usercolumn=name passwdcolumn=passwd crypt=2
account required /usr/lib/security/pam_mysql.so user=vsftpdguest
[email=passwd=wk@wei1213]passwd=wk@wei1213[/email]
host=localhost db=vsftpdvu table=user  usercolumn=name passwdcolumn=passwd crypt=2
这里需要说明的是crypt参数。crypt表示口令字段中口令的加密方式:crypt=0,口令以明文方式(不加密)保存在数据库中;crypt=1,口令使用UNIX系统的DES加密方式加密后保存在数据库中;crypt=2,口令经过MySQL的password()函数加密后保存。
6、注
virtual_use_local_privs,当该参数激活(YES)时,虚拟用户使用与本地用户相同的权限;当此参数关闭(NO)时,虚拟用户使用与匿名用户相同的权限
chroot_local_user=YES限制虚拟用户目录
7、被动模式下防火墙设置
vsftpd.conf设置
pasv_enable=YES ;允许被动模式
pasv_min_port=10000 ;被动模式使用端口范围
pasv_max_port=10010
FTP防火墙连接的建立
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
被动模式端口映射
iptables -I INPUT -p tcp --dport 10000:100010 -j ACCEPT
iptables -I OUTPUT -p tcp --sport 10000:10010 -j ACCEPT
注:按此文编译安装未能成功,出现错误如下图所示,待解决:
   



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/24626/showart_391543.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP