mysql+pam实现vsftp虚拟用户试验报告
时间:2010-04-27 来源:zzk_dandan
姓氏: 宗庄凯
实验目的:实现vsftp+mysql+pam 用户验证(突破65535个用户的限制)
2010年4月22日
- 下载pam_mysql-0.7RC1.tar.gz
- tar xzvf pam_mysql....
- cd !$
- ./configure --with-mysql=/usr/local/mysql/ #指定mysql目录
- make && make install
- cp /usr/lib/security/pam_mysql.so /lib/security/ 因为默认编译好了的模块是在/usr/lib/security/下 我们必须给他移动到/lib/security/下才可以让pam 这个程序正常加载此模块!
- 在ftp服务器上创建mysql数据库
- create database ftp; #创建一个数据库名字为ftp
- use ftp; && create table ftpuser(username char(10),password char(20));
- insert into ftpuser values('admin','admin');
- insert into ftpuser values('mysqluser','mysqluser'); ##创建两条记录 以便于测试
- grant select on ftp.ftpuser to mysqluser@localhost identified by 'mysqlpass'; #创建一个只有本地才可以登录的用户(帐号mysqluser 密码mysqlpass),权限只能select,并且只能读取到ftp数据库下的ftpuser表中的数据(也就是只能读取到用户名和密码)
- 修改vsftp配置文件
- vim /etc/vsftp/vsftp.conf 把pam_service_name=vsftpd 注释掉
- 增加以下几行:
- pam_service_name=mysqlftp
- guest_enable=YES # 开启匿名用户登录
- guest_username=mysqlftp # 匿名用户使用mysqlftp
- anon_world_readable_only=NO # 允许匿名用户具有查看的权限(同时具有下载的权限)
- 创建文件并写入 vim /etc/pam.d/mysqlftp
- auth required pam_mysql.so user=mysqluser passwd=mysqlpass host=localhost db=ftp table=ftpuser usercolumn=username passwdcolumn=password crypt=0
- account required pam_mysql.so user=mysqluser passwd=mysqlpass host=localhost db=ftp table=ftpuser usercolumn=username passwdcolumn=password crypt=0
- 然后创建用户
- useradd mysqlftp
- cp /etc/rc.d/init.d/* /home/mysqlftp/ #;为了测试
- service vsftpd restart
- lftp -u admin 192.168.1.105
- 看看是否成功
相关阅读 更多 +