Ubuntu 8.04+vsftpd+mysql+pam的ftp服务器端无错配置

配置环境:UUbuntu 8.04

1.安装vsftpd

sudo apt-get install vsftpd

2.创建guest用户

vsftpd安装的时候会自动安转一个ftp用户,在passwd中删除

sudo useradd virtual

设置virtual的密码为webftp

sudo passwd virtual

编辑virtual用户的主目录并设置shell

sudo vim /etc/passwd

我设置的是virtual:x:1001:1001::/var/www:/bin/false

/var/www virtual的主目录

/bin/false 禁止virtual用户终端登陆

3.设置MySQL数据库和用户权限

在phpmyadmin中建立vsftp数据库 vsftp用户

建立用户表

create table users(name char(16) binary,passwd char(16) binary);

并授权vistual用户users表的select权限,并设置密码。

4.设置MySQL的PAM验证

安装libpam-mysql

sudo apt-get install libpam-mysql

要设置vsftpd的PAM验证文件

sudo cp /usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS/vsftpd.pam /etc/pam.d/vsftpd

把内容替换为如下:

auth required /lib/security/pam_mysql.so user=virtual passwd=webftp host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2

account required /lib/security/pam_mysql.so user=virtual passwd=webftp host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2

5.设置vsftpd.conf

guest_enable=YES

guest_username=virtual

这两项必须打开,其他配置请查阅vsftpd.conf的配置手册

6.虚拟用户目录的权限改为只能由virtual操作:

sudo chown virtual.virtual /var/www

sudo chmod 755 /var/www

virtual获得www文件夹的权限,并设置www文件夹权限为755

至此,最基本的虚拟用户已经完成。

sudo /etc/init.d/vsftpd restart

重启vsftpd服务后即可以用users表中设置的用户名密码进行www文件夹的访问了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyxxgg.html