1. 安裝軟體
<code>yum -y </code><code>install</code> <code>vsftpd*</code>
<code>yum -y </code><code>install</code> <code>pam*</code>
<code>yum -y </code><code>install</code> <code>db4*</code>
2. 建立虛拟賬号相關聯的系統賬号
<code>useradd</code> <code>virftp -s </code><code>/sbin/nologin</code>
3. 建立虛拟賬戶相關的檔案
<code>touch</code> <code>/etc/vsftpd/vsftpd_login</code>
并把你要建立的使用者寫到裡面,奇數行是使用者名,偶數行是密碼
例如:
<code>ftpuser1</code>
<code>121212</code>
<code>ftpuser2</code>
<code>12121212</code>
然後生成對應的庫檔案
<code>db_load -T -t </code><code>hash</code> <code>-f</code><code>/etc/vsftpd/vsftpd_login</code> <code>/etc/vsftpd/vsftpd_login</code><code>.db</code>
4. 建立虛拟賬号相關的目錄以及配置檔案
<code>mkdir</code> <code>/etc/vsftpd/vsftpd_user_conf</code>
然後在該目錄下,建立虛拟賬号相對應的配置檔案,賬号和檔案名對應
<code>cd</code> <code>/etc/vsftpd/vsftpd_user_conf</code>
vim ftpuser1 内容如下:
<code>local_root=</code><code>/home/virftp/ftpuser1</code>
<code>anonymous_enable=NO</code>
<code>write_enable=YES</code>
<code>local_umask=022</code>
<code>anon_upload_enable=NO</code>
<code>anon_mkdir_write_enable=NO</code>
<code>idle_session_timeout=600</code>
<code>data_connection_timeout=120</code>
<code>max_clients=10</code>
<code>max_per_ip=5</code>
<code>local_max_rate=50000</code>
建立配置檔案中提及的ftpuser1的家目錄
<code>mkdir</code> <code>/home/virftp/ftpuser1</code>
修改權限:
<code>chown</code> <code>-R virftp:virftp</code><code>/home/virftp/</code>
5. 修改驗證檔案
<code>vim </code><code>/etc/pam</code><code>.d</code><code>/vsftpd</code>
在最開頭添加兩行
<code>auth sufficient </code><code>/lib/security/pam_userdb</code><code>.sodb=</code><code>/etc/vsftpd/vsftpd_login</code>
<code>account sufficient</code><code>/lib/security/pam_userdb</code><code>.so db=</code><code>/etc/vsftpd/vsftpd_login</code>
6. 修改vsftpd.conf
内容如下:
<code>local_enable=YES</code>
<code>dirmessage_enable=YES</code>
<code>xferlog_enable=YES</code>
<code>connect_from_port_20=YES</code>
<code>xferlog_file=</code><code>/var/log/vsftpd</code><code>.log</code>
<code>xferlog_std_format=YES</code>
<code>nopriv_user=vsftpd</code>
<code>async_abor_enable=YES</code>
<code>ascii_upload_enable=YES</code>
<code>ascii_download_enable=YES</code>
<code>ftpd_banner=Welcome to FTP service.</code>
<code>listen=YES</code>
<code>chroot_local_user=YES</code>
<code>pam_service_name=vsftpd</code>
<code>userlist_enable=YES</code>
<code>tcp_wrappers=YES</code>
<code>guest_enable=YES</code>
<code>guest_username=virftp</code>
<code>virtual_use_local_privs=YES</code>
<code>user_config_dir=</code><code>/etc/vsftpd/vsftpd_user_conf</code>
7. 啟動vsftpd服務
<code>/etc/init</code><code>.d</code><code>/vsftpd</code> <code>start</code>
8. 關閉selinux
setenforce 0 //這一步操作是臨時關閉,如果想永久關閉,需修改配置檔案 vim /etc/selinux/config 把SELINUX=enforcing改為 SELINUX=disabled
9. 測試
<code>lftp localhost -u ftpuser1,121212</code>
看是否能正常登入,如果不正常,請檢視/var/log/secure檔案,分析日志
本文轉自 sykmiao 51CTO部落格,原文連結:http://blog.51cto.com/syklinux/1730994,如需轉載請自行聯系原作者