1.安装必要文件
1)rpm -ivh vsftpd-2.0.5-16.el5.x86_64.rpm
2)rpm -ivh db4-utils-4.3.29-10.el5.x86_64.rpm
2.配置vsftpd
1.建立虚拟用户口令库文件
#vim /etc/vsftpd/logins.txt
vuser1
123
口令库文件中奇数行设置用户名,偶数行设置口令
2.生成vsftpd的认证文件
db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db
##生成认证文件,添加或修改账户名和密码时需要更新,否则会出现530 Login incorrect
3.设置认证文件只对root用户可读可写
# chmod 600 /etc/vsftpd/vsftpd_login.db
4.建立虚拟用户所需的PAM配置文件,手工建立vsftpd.vu文件
# vim /etc/pam.d/vsftpd.vu
auth required pam_userdb.sodb=/etc/vsftpd/vsftpd_login
account required pam_userdb.sodb=/etc/vsftpd/vsftpd_login
5.设置vsftpd.conf配置文件
#vim/etc/vsftpd/vsftpd.conf
anonymous_enable=NO (禁止匿名用户登录)
pam_service_name=vsftpd.vu(要和刚才建的PAM文件对应)
在配置文件中添加虚拟用户的配置内容
guest_enable=YES
guest_username=ftp
user_config_dir=/etc/vsftpd/user_config_dir (指定每个虚拟用户账号配置目录,)
user_sub_token=$USER
6.配置虚拟用户名的设置
#mkdir -p /etc/vsftpd/user_config_dir (主配置文件对应)
#mkdir -p /var/ftp/vuser1 (创建虚拟用主目录)
#chmod -R 777 /var/ftp/vuser1 (设定权限)
#vim /etc/vsftpd/user_config_dir/vuser1 (为vuser1权限配置文件)
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/var/ftp/$USER
anon_mkdir_write_enable=YES
7.修改SELinux安全机制
# vim/etc/sysconfig/selinux
SELINUX= disabled
##否则影响虚拟用户对文件的操作等问题
8.启动vsftpd服务程序
# service vsftpdstart
现在就应该可以用虚拟帐号登陆了.
3.更改用户主目录
sudo usermod -d /www ftp (修改ftp用户主目录路径为/www)
mkdir -p/www/vuser1 (在新的主目录下创建虚拟用户主目录)
chmod -R 777/www/vuser1 (更改文件夹权限)
#vim /etc/vsftpd/user_config_dir/vuser1
local_root=/www/$USER(修改路径)
重启vsftpd服务
service vsftpdrestart
4.开机自启动
Chkconfigvsftpd on (所有的启动级别都会自动启动vsftpd服务)
第7步可不做
附上解决ftp客户端连接服务器报503问题的解决方法之一
http://blog.csdn.net/u010566813/article/details/42550483