1.安装vsftpd,此处可yum安装或源码安装;
2.安装mysql,略过,可查看之前文档;
3.安装pam-mysql,依赖pam-devel包;
[root@WebA-136 ~]#tar xf pam_mysql-0.7RC1.tar.gz
[root@WebA-136 ~]#yum install pam-devel
[root@WebA-136 ~]#./configure --with-mysql=/usr/local/mysql --with-openssl
[root@WebA-136 ~]#make && make install
[root@WebA-136 ~]#less README
[root@WebA-136 ~]#vim /etc/pam.d/vsftpd.mysql
[root@WebA-136 ~]#cat /etc/pam.d/vsftpd.mysql
[root@WebA-136 ~]#auth required /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=192.168.146.136 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=3 md5=yes
[root@WebA-136 ~]#account required /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=192.168.146.136 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=3 md5=yes
再配置数据库
create database vsftp;
grant selcet on vsftp.* to vsftpd@192.168.146.136 identified by '123456';
创建表
create table users(
id smallint auto_increment not null,
name char(20) binary not null,
password char(48) binary not null,
primary key(id))
;
查看表结构
desc users;
此处还需要插入虚拟用户
INSERT INTO users(name,password)VALUES('tom',md5(123456)),('jack',md5(123456));
4.修改vsftpd.conf配置文件,使其适用于mysql认证
首先创建用户
useradd -s /sbin/nologin -d /var/ftp-test vsftp
chmod go+rx /var/ftp-test
确保vsftpd.conf中打开以下选项
[root@WebA-136 ~]#vim /etc/vsftpd/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=vsftpd######所有的虚拟用户 都必须映射到一个指定的用户上。
listen=YES
pam_service_name=vsftpd.mysql
注:可根据不同的虚拟用户实现不同的访问权限设置
在vsftpd.conf中新增
user_config_dir=/etc/vsftpd/test
在/etc/vsftpd/test目录下增加与虚拟用户同名的文件
cd /etc/vsftpd/test
vim tom
anon_upload_enable=YES
anon_mkdir_write_enable=YES
vim jack
anon_upload_enable=NO
anon_mkdir_write_enable=NO
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。