【汇总】vsftp

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
 

-

 

你可能感兴趣的:(vsftpd,vsftp虚拟账户)