Debian vsftpd MySQL实现虚拟用户二
文章作者 100test 发表时间 2007:03:26 17:59:42
来源 100Test.Com百考试题网
4,配置MySQL数据库
1),创建用于存储虚拟用户信息的数据库ftpvuser
代码:
#mysqladmin -u root -p create ftpvuser
2),连接数据库
3)创建用于存储虚拟用户信息的表users
代码:
mysql>use ftpvuser.
mysql>CREATE TABLE users (username varchar(20) NOT NULL,
password varchar(40) NOT NULL,
PRIMARY KEY (username)) TYPE=MyISAM.
4)让本地用户ftpguest能读取ftpvuser数据库的users表的内容
注:YourPassword用于设定ftpguest访问数据库的密码.
代码:
mysql>grant 0select on ftpvuser.users to ftpguest@localhost identified
by YourPassword .
mysql>flush privileges.
5),建立虚拟用户
代码:
mysql>insert into users (username,password) values ( normal , 555555 ).
mysql>insert into users (username,password) values ( admin , 666666 ).
mysql>insert into users (username,password) values ( webmaster , 777777 ).
6),完成MySQL的配置
5,配置vsftpd的PAM验证
1),打开PAM配置文件
代码:
#nano /etc/pam.d/vsftpd
2),将以前的内容注释掉,然后添加下面2行内容
注:YourPassword就是刚才在前面设定的ftpguest访问数据库的密码.
代码:
auth required pam_mysql.so user=ftpguest passwd=YourPassword host=localhost
db=ftpvuser table=users usercolumn=username passwdcolumn=password crypt=0
account required pam_mysql.so user=ftpguest passwd=YourPassword host=localhost
db=ftpvuser table=users usercolumn=username passwdcolumn=password crypt=0
6,配置vsftpd
1),打开vsftpd的配置文件
代码:
#nano /etc/vsftpd.conf
注意:一旦修改了/etc/vsftpd.conf文件的内容,必须重启vsftpd才能使新的设置生效,方法是:
代码:
#/etc/init.d/vsftpd stop
#/etc/init.d/vsftpd start
直接#/etc/init.d/vsftpd restart,好像不起作用?
2),修改vsftpd.conf文件如下
代码:
#关闭匿名用户访问
#anonymous_enable=YES
#开启本地用户访问
local_enable=YES
#开启虚拟用户访问
guest_enable=YES
guest_username=ftpguest
#将本地用户限制在自己的家目录,这样可避免FTP用户访问到其他的系统目录
chroot_local_user=YES
3),500 OOPS: cap_set_proc
赶快登录FTP试一下吧,不过为什么无法登录呢?服务器返回错误:500 OOPS: cap_set_proc
Google之,这个错误似乎与SELinux有关,解决办法是加载capability模块:
为了让Linux在启动时自动加载此模块,把这个模块放到/etc/modules中即可.