创建vsftpd所需用到的库,表,以及vsftpd用户
12345678910 mysql> create database vsftpd;
mysql> grant select on vsftpd.* to 'vsftpd'@'localhost' identified by '222222';
mysql> flush privileges;
mysql> create table users (
id int AUTO_INCREMENT NOT NULL,
name char(20) binary NOT NULL,
password char(48) binary NOT NULL,
primary key(id)
);
添加虚拟用户:
mysql> insert into users(name,password) values('tom',password('tom'));
mysql> insert into users(name,password) values('jerry',password('jerry'));
配置vsftpd:
建立pam认证所需文件
12345 [root@sherry pam.d]# vim /etc/pam.d/vsftpd.mysql
# 认证时 crypt=2 mysql-password加密 3 md5 4sha1
auth required /lib64/security/pam_mysql.so user=vsftpd passwd=222222 host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
# 账号检验
account required /lib64/security/pam_mysql.so user=vsftpd passwd=222222 host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
[root@sherry tftp]# useradd -g sherry -s /sbin/nologin -d /home/tftp testftp
[root@sherry home]# chmod go+rx tftp/
请确保/etc/vsftpd.conf中已经启用了以下选项
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
chroot_local_user=YES
而后添加以下选项
guest_enable=YES
guest_username=testftp #映射用户
pam_service_name=vsftpd.mysql
启动服务:
[root@sherry home]# /etc/init.d/vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
登入成功:
[root@martin ~]# lftp -u tom,tom 172.16.178.153
lftp tom@172.16.178.153:/> put a.bin.sql
2448 bytes transferred
[root@sherry tftp]# ll
total 644
-rw------- 1 testftp sherry 2448 May 26 04:50 a.bin.sql
权限配置:
[root@sherry ~]# vim /etc/vsftpd/vsftpd.conf
# 配置vsftpd为虚拟用户使用配置文件目录vusers_config 名字随意
user_config_dir=/etc/vsftpd/vusers_config
创建所需要目录,并为虚拟用户提供配置文件
[root@sherry ~]# mkdir /etc/vsftpd/vusers_config/
[root@sherry ~]# cd /etc/vsftpd/vusers_config/
[root@sherry ~]# touch tom jerry
虚拟用户对vsftpd服务的访问权限是通过匿名用户的相关指令进行的。比如,如果需要让tom用户具有上传文件的权限,可以修改/etc/vsftpd/vusers/tom文件,在里面添加如下选项即可。
[root@sherry ~]# /etc/vsftpd/vusers/tom
anon_upload_enable={YES|NO}
anon_mkdir_write_enable={YES|NO}
anon_other_write_enable={YES|NO}
Ubuntu实用简单的FTP架设
Ubuntu 13.04 安装 LAMP\vsftpd\Webmin\phpMyAdmin 服务及设置
RHEL6平台下SeLinux和vsftpd的匿名上传的简单案例
openSUSE 13.2/13.1 下安装配置 FTP服务器 vsftpd