1.基本环境
CentOS 5.5 (32bit, Linux version 2.6.18-194.e15) Vsftp (yum install, Version 2.0.5)
2.基本配置过程
// 创建ftp目录 #mkdir /downloads // 创建专门ftp专门账号 #useradd -d /downloads/ vsftpuser // 创建虚拟账户列表,奇数行账号,偶数行密码 #cd /etc/vsftpd/ #vi vsftpusers ftp 123456 // 虚拟账号密码加密 #db_load -T -t hash -f /etc/vsftpd/vsftpusers /etc/vsftpd/db_vsftpusers.db // 配置pam验证,全部注释后,添加如下2句 #vi /etc/pam.d/vsftpd auth required /lib/security/pam_userdb.so db=/etc/vsftpd/db_vsftpusers account required /lib/security/pam_userdb.so db=/etc/vsftpd/db_vsftpusers // 创建虚拟账号配置目录 #mkdir /etc/vsftpd/users_conf // 配置vsftpd.conf #vi /etc/vsftpd/vsftpd.conf guest_enable=YES guest_username=vsftpuser pam_service_name=vsftpd user_config_dir=/etc/vsftpd/users_conf
遇到的问题:
1.没有db_load命令,是由于没有安装db4-utils的缘故
#yum install db4-utils
2.vsftp 530 Permission denied.
原因可能有很多种,我这里的原因是因为vsftpuser被拒绝,所以在user_list中最后一行补上vsftpuser即可
#vi /etc/vsftpd/user_list vsftpuser #service vsftpd restart
3.vsftp 500 OOPS: cannot change directory
// 系统RHEL5 增强的系统安全SELinux对FTP Daemon的保护 #setsebool -P ftpd_disable_trans 1 #service vsftpd restart
网上关于vsftpd配置的详细说明
http://blog.chinaunix.net/space.php?uid=22740805&do=blog&cuid=2076277
2011.8.30补充
--------------------
用配置好的虚拟账号ftp登录后,发现不能下载,于是再进一步对ftp账号进行配置,ok了
// 进入前面创建并制定的虚拟账号配置目录 #cd /etc/vsftpd/users_conf // 配置ftp账号 #vi ftp anon_world_readable_only=NO #表示用户可以浏览FTP目录和下载文件 anon_upload_enable=YES #表示用户可以上传文件 anon_mkdir_write_enable=YES #表示用户具有建立和删除目录的权利 anon_other_write_enable=YES #表示用户具有文件改名和删除文件的权限 // 重启vsftpd服务器 #service vsftpd restart
-