我安装过数次vsftp,但是每次安装完之后就忘记了。下面是最简单安装方法(故不涉及虚拟用户及使用数据库验证用户名密码的问题,只用系统建立的帐号登录。 ):


rpm -ivh vsftpd-2.0.5-16.el5_4.1.x86_64.rpm


编辑/etc/vsftpd/vsftpd.conf,注意在等号前的部分大小写是敏感的,一定要全部小写,最后所有产生效用


的设置调如下。 

anonymous_enable=NO   不允许匿名登录(默认为YES,需要修改) 

local_enable=YES   允许本地用户登录(默认) 

write_enable=YES   开放本地用户登录后的修改权限(默认) 

local_umask=022   上传文件默认权限为755(777-022)(默认) 

dirmessage_enable=YES   欢迎信息(默认) 

xferlog_enable=YES   记录log(默认) 

connect_from_port_20=YES   (默认) 

xferlog_std_format=YES   log格式(默认) 

listen=YES   (默认) 

chroot_local_user=YES   限制用户登陆后只能在自身目录(新添加) 

pam_service_name=vsftpd   (默认) 

tcp_wrappers=YES   (默认) 

最后删除一条默认的userlist_enable=YES 

保存退出后


接下来建立一个不能在本地登录而只能使用ftp的用户,假设用户名为ftpuser,个人所属的文件夹


为/var/ftp/ftpuser


重要一,


命令如下 

useradd -g ftp -d /var/ftp/ftpuser -s /sbin/nologin ftpuser

建立完成后使用passwd ftpuser命令设置密码


重要二,


cd /etc/vsftpd/


touch chroot_list


vi chroot_list 添加 ftpuser


重启vsftpd


附带:如果上传时出现以下报错(man man ftpd_selinux得到帮助):


vsftp " 553 Could not create file"


解决方法:


1. 执行


setsebool -P ftpd_disable_trans 1 

2.


service vsftpd restart



2010-05-06