Debian sid 下VSFTPD+MySQL安装

2005-04-18 10:53:13 GNU/Linux Views(2170)

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

Comments

Leave a Comment

Name
Content
Verification Type the characters you see in the picture below