我安装过数次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