安装环境:
centos 6.6 X86_64
一、简介
VSFTPD:very secure FTP daemon 非常安全的FTP进程,是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字,可以运行在诸如linux、BSD、solaris、HP-UX以及Irix等系统上面。vsftpd支持很多其它传统FTP服务器不支持的良好特性。
二、VSFTPD安装与配置文件
#yum -y install vsftpd #安装
#rpm -ql vsftpd | less #查看安装后文件
#cd /etc/vsftpd
#cp vsftpd.conf{,.bak} #备份
用户认证配置文件:/etc/pam.d/vsftpd
服务脚本:/etc/rc.d/init.d/vsftpd
配置文件目录:/etc/vsftpd
主配置文件:vsftpd.conf
三、安装mysql和pam_mysql
1、安装相应软件
#yum -y install vsftpd mysql-server mysql-devel pam_mysql
2、安装mysql
#mysql >CREATE DATABASE vsftpd; >use vsftpd; >GRANT SELECT ON vsftpd.* TO vsftp@'172.16.%.%' INDENTIFIED BY ''mageedu; >FLUSH PRIVILEGES #mysql -u vsftp -h 172.16.200.22 #远程连接测试 >CREATE TABLE users ( #创建表 -->id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, -->name VARCHAR(50) BINARY NOT NULL, -->password CHAR(48) BINARY NOT NULL ); >DESC users; >INSERT INTO users (name,password) VALUES ('tom',password('mageedu')),('jerry',password('mageedu.com')); 创建用户 >SELECT * FROM users; #查看用户
3、配置认证文件
#vim /etc/pam.d/vsftpd.mysql auth required /lib64/security pam_mysql.so user=vsftp password=mageedu host=172.16.200.7 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 #认证用户及密码 account required /lib64/security pam_mysql.so user=vsftp passwod=mageedu host=172.16.200.7 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 #验证用户是否过期
4、配置文件
#useradd -s /sbin/nologin -d /var/ftproot vuser #chmod go+rx /var/ftproot #让其它用户读执行权 #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 虚拟用户选项: pam_service_name=vsftpd.mysql guest_enable=YES guest_username=vuser #service vsftpd restart #tail /var/log/messages
5、 配置虚拟用户有不同的访问权限
#vim vsftpd.conf user_config_dir=/etc/vsftpd/vusers_config #mkdir /etc/vsftpd/vusers_config #cd /etc/vsftpd/vusers_config #touch tom #vim tom anon_upload_enable=YES anon_mkdir_enable=YES anon_other_write_enable=YES #cp tom jerry #vim jerry anon_upload_enable=NO anon_mkdir_enable=NO anon_other_write_enable=NO #service vsftpd restart