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,如需转载请自行联系原作者