安裝環境:
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