如何進(jìn)行vsftpd的虛擬用戶建立
在前面我們已經(jīng)對(duì)FTP服務(wù)器建立的安裝和配置進(jìn)行了詳述,這里我們?cè)賮?lái)對(duì)相關(guān)的用戶建立進(jìn)行一下解析。那么本地用戶在這里就不多介紹了,主要介紹實(shí)現(xiàn)虛擬用戶的二種方法:vsftpd建立虛擬用戶的過(guò)程。
1、使用本地?cái)?shù)據(jù)文件:
生成虛擬用戶文件,建立/etc/vsftpd/vuser.txt文件,內(nèi)容如下:
tonyzhang#虛擬用戶1111 #虛擬用戶1密碼 tomqin #虛擬用戶2111 #虛擬用戶2密碼
安裝生成數(shù)據(jù)庫(kù)rpm包:db4-utils。
- rpm -ivh db4-utils-4.3.29-9.fc6.i386.rpm
生成虛擬用戶數(shù)據(jù)庫(kù)。
- db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.txt
創(chuàng)建本地映射用戶,修改本地映射用戶家目錄權(quán)限。
- useradd -d /var/ftp/vuserdir -s /sbin/nologin vuserchmod o+rw /var/ftp/vuserdir
修改pam認(rèn)證文件/etc/pam.d/vsftpd,將原有內(nèi)容注釋。
- authrequired /lib/security/pam_userdb.so db=/etc/vsftpd/vusersaccount required
- /lib/security/pam_userdb.so db=/etc/vsftpd/vusers
修改/etc/vsfptd/vsftp.conf,增加以下內(nèi)容。
- guest_enable=YESguest_username=vuser
2、使用MySQL數(shù)據(jù)文件:
創(chuàng)建本地映射用戶。
- useradd -s /sbin/nologin vuser
修改/etc/vsfptd/vsftp.conf,增加以下內(nèi)容。
- guest_enable=YESguest_username=vuser
安裝MySQL及相關(guān)軟件包。
- yum -y install mysql.i*yum -y install perl-DBD-MySQL.i*yum
- -y install mysql-server.i*yum -y install mysql-devel.i*
在MySQL中建立數(shù)據(jù)庫(kù)及用戶表。
- [root@polo ]
- # mysql -u root mysql -pmysql>create database ftpvuser;
- #建立用戶數(shù)據(jù)庫(kù)
- mysql>use ftpvuser;
- #打開數(shù)據(jù)庫(kù)
- mysql>create table users(name char(16) binary,passwd char(16) binary);
- #建立存取用戶信息表
- #插入二個(gè)用戶及口令
- mysql>insert into users (name,passwd) values ('tonyzhang',password('111'));
- mysql>insert into users (name,passwd) values ('tomqin',password('111'));
#p#授權(quán)vuser可以讀ftpvuser數(shù)據(jù)庫(kù)的users表。
- [root@polo ]
- #mysql -u root mysql -p mysql>grant select on ftpvuser.users to vuser@localhost identified by '123';
- mysql>quit
在上述授權(quán)完成后,可通過(guò)下圖方法驗(yàn)證授權(quán)是否成功。
編譯MySQL的PAM認(rèn)證模塊。
首先需要下載(http://sourceforge.net/projects/pam-mysql)MySQL的PAM認(rèn)證模塊源碼,使用tar命令解壓后,進(jìn)行編譯。在編譯前需要安裝以下軟件包。
- yum -y install gcc.i*yum -y install gcc-c++.i*yum -y install pam-devel.i*
安裝完成后就可以進(jìn)行編譯。
- ./configuremakemake install
編輯完成后可查看/lib/security目錄下是否已有對(duì)應(yīng)pam模塊(如下圖)。
修改pam認(rèn)證文件/etc/pam.d/vsftpd,將原有內(nèi)容注釋。
auth required pam_mysql.so user=vuser passwd=123 host=localhost db=ftpvuser table=users usercolumn=name passwdcolumn=passwd crypt=2account required pam_mysql.so user= vuser passwd=123 host=localhost db= ftpvuser table=users usercolumn=name passwdcolumn=passwd crypt=2
上述二種虛擬用戶配置完成后,在通過(guò)以下步驟可針對(duì)每個(gè)虛擬用戶指定不同的配置文件。
1、修改/etc/vsfptd/vsftp.conf
- user_config_dir=/etc/vsftpd/vuserconf
2、在/etc/vsfptd/vsftp.vuserconf目錄下,以每個(gè)虛擬用戶的用戶名為名稱建立配置文件即可。