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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。