1、建立虚拟用户口令库文件
口令库文件中奇数行设置用户名,偶数行设置口令
# vi /etc/vsftpd/logins.txt
mike
pwabcd
john
pw1234
注意:一定要注意绝对不能有空格
2、生成vsftpd的认证文件
# db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db
注:如果没有db_load命令,请安装db4*相关rpm包。
设置认证文件只对用户可读可写
# chmod 600 /etc/vsftpd/vsftpd_login.db
3、建立虚拟用户所需的PAM配置文件
# vi /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
注意:以上2行中最后的2个文件名vsftpd_login和第2个步骤中的数据库名字必须一致!如果系统为64位的则需要把lib修改成lib64
4、建立虚拟用户所要访问的目录并设置相应权限
# mkdir /home/ftpsite
# useradd -d /home/ftpsite virtual(用户名)
# chown virtual:virtual /home/ftpsite
# chmod 700 /home/ftpsite/
5、设置vsftpd.conf配置文件
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
6、设置主配置文件
在vsftpd.conf文件中添加用户配置文件目录设置
user_config_dir=/etc/vsftpd_user_conf
# service vsftpd restart
7、建立用户配置文件目录
使用mkdir命令建立用户配置文件目录
# mkdir /etc/vsftpd_user_conf
为虚拟用户建立单独的配置文件,用户配置文件名称与用户名相同
/etc/vsftpd_user_conf/mike
/etc/vsftpd_user_conf/john
8、每个FTP虚拟用户都可以独立设置其权限
anon_world_readable_only=NO 可读可下载
anon_upload_enable=YES 可上传
anon_mkdir_write_enable=YES 可创建和删除文件夹
anon_other_write_enable=YES 可文件改名和删除文件
local_root=/home/ftpsite/mike 指定mike的宿主目录
(注意:请先到/home/ftpsite下面去创建mike文件夹)
VSFTP升级方案
第一种,直接rpm升级
首先输入命令查询现有vsftp版本
如果本机有老的自带的vsftp就用升级方式
输入命令
rpm -Uvh vsftp的rpm路径
升级完后重启服务
再次输入版本查询命令看是否完成升级
第二种,删除原版重新安装新版本
再执行安装命令
启动服务
service vsftpd start
查看vsftpd版本
linux下vsftpd连接登录慢的解决方法
XP客户端连接vsftpd登陆验证慢,停顿几秒才登陆成功?什么原因呢?如何解决ssh连接登录慢的问题?
环境:CentOS5.4 vsftpd-2.0.5-16-el5 XP下CuteFTP8.0.2 列出我遇到的情况: 关闭iptables时,连接速度很快,不卡。
打开iptables时,连接登陆验证时,卡住几秒。
vsftp在REDHAT,CENTOS 5中不仅登录慢,至少花30秒左右,而且上传文件的速度也受影响,经过摸索,根本原因在DNS解析上花费很长时间,直到DNS超时才返回,这样一来只要把 resolv.conf中的内容清空就能解决这个问题,但影响到DNS的解析。
解决方法二,在vsftpd.conf文件中加入:
reverse_lookup_enable=NO 保存后重新启动vsftpd:
service vsftpd restart。
以上在5.4版本通过,其它版本大家自己测试。