環境:Linux作業系統
前提:以經安裝VSFTPD、MySQL、PAM_MySQL
1、添加VSFTPD使用者
[root@xxx]#useradd ftpguest
當虛擬使用者登入後,所在的位置為vsftpguest的自家目錄/home/vsftpguest。如果要讓虛擬使用者登入到/var/ftp等其他目錄,修改vsftpguest的自家目錄即可。
2、建立虛擬使用者資料庫
mysql>create database ftpuser;
mysql>use ftpuser;
mysql>create table users(name char(20), passwd char(20));
mysql>insert into users
->values ('ftp', 'ftp');
mysql>quit
3、為ftpguest設定資料庫讀取許可權
mysql>grant select on ftpuser.users to vsftpguest@localhost identified by 'you_password';
mysql>quit
4、配置VSFTPD,使其使用虛擬使用者登入
/etc/vsftpd/vsftpd.conf
添加:
chroot_local_user=YES
chroot_list_enable=YES
5、為VSFTPD添加授權
/etc/pam.d/vsftpd
auth required pam_mysql.o user=vsftpguest passwd=you_password host=localhost db=ftpuser table=users usercolumn=name passwdcolumn=passwd crypt=0
account required pam_mysql.o user=vsftpguest passwd=you_password host=localhost db=ftpuser table=users usercolumn=name passwdcolumn=passwd crypt=0
6、重啟VSFTPD
[root@xxx]#service vsftpd restart
註:更改/etc/pam.d/vsftpd時,刪除原內容,只存在以上內容。