1,基本安装
2,建立虚拟用户对应的系统用户ftpguest
3,在mysql建立数据库vsftpd,表users,并授予ftpguest用户select权限
4,修改/etc/vsftpd.conf。
5,修改/etc/pam.d/vsftpd
1,基本安装安装
#apt-get install mysql-server mysql-client
#apt-get install vsftpd
#apt-get install libpam-mysql
,接着第2步
2,增加系统用户
#useradd vsftpdguest
#mkdir /var/ftp
#mkdir /usr/share/empty
3,准备数据库
create database apple;
use apple;
create table users(name varchar(255) binary,passwd char(255) binary);
insert into users (name,passwd) values (\'test\',password(\'test\'));
grant select on apple.users to ftpguest@localhost identified by \'apple\';
flush privileges;
4,通过pam连接数据库
接下来,我们要设置vsftpd的PAM验证文件。打开/etc/pam.d/vsftpd文件,加入以下内容:
auth required pam_mysql.o user=vsftpdguest passwd=apple host=localhost db=apple table=users usercolumn=name passwdcolumn=passwd crypt=2
account required pam_mysql.o user=vsftpdguest passwd=apple host=localhost db=apple table=users usercolumn=name passwdcolumn=passwd crypt=2
上面涉及到的参数,只要对应前面数据库的设置就可以明白它们的含义。这里需要说明的是crypt参数。crypt表示口令字段中口令的加密方式:crypt=0,口令以明文方式(不加密)保存在数据库中;crypt=1,口令使用UNIX系统的DES加密方式加密后保存在数据库中;crypt=2,口令经过MySQL的password()函数加密后保存。
5,配置vsftpd.conf
#在/etc/vsftpd.conf文件中,加入以下选项:
guest_enable=YES
guest_username=vsftpdguest
#允许虚拟用户上传文件:
write_enable=YES
anon_upload_enable=YES
允许虚拟用户修改文件名和删除文件:
anon_other_write_enable=YES
#由于以上选项的设置同样会对匿名用户生效。如果不想匿名用户趁机拥有同样的权限,最好是禁止匿名用户登录。
#其次,由于虚拟用户在系统中是vsftpdguest身份,所以可以访问到系统的其他目录。为了更加安全,我们可以将虚拟用户限制在自家目录下。有#两种做法:一,在配置文件中增加以下选项
chroot_local_user=YES

2005-04-18 10:53:13
Views(2170)
Comments