1、配置用户密码cd /etc/vsftpd/vi vftpuser.txtx(奇数行为用户名 ,偶数行为密码)db_load -T -t hash -f /etc/vsftpd/vftpuser.txtx /etc/vsftpd/vftpuser.db 2、配置用户目录cd /etc/vsftpd/vuser_confvi 用户名local_root=/ftp_data/ftp_dir/用户名write_enable=YESdownload_enable=YESanon_world_readable_only=NOanon_upload_enable=NOanon_mkdir_write_enable=NOanon_other_write_enable=NOlocal_umask=022保存并退出 3、配置用户权限 cd /ftp_data/ftp_dirmkdir 用户名chown ftpuser:ftp 用户名 4、重启 service vsftpd restart
1. 查看是否安装vsftp
rpm –qa|grep vsftpd如果出现 vsftpd-2.0.5-16.el5_5.1 说明已经安装 vsftp安装vsftpyum -y install vsftpd2. 测试是否安装成功(匿名登录 user: anonymous 密码为空 如果成功登录会有下面内容 这说明vsftpd安装成功)如果没有ftp命令,请运行yum install -y ftp[root@localhost ~]#service vsftpd start为 vsftpd 启动 vsftpd:[确定][root@localhost ~]#ftp 127.0.0.1Connected to127.0.0.1.220 (vsFTPd 2.0.5)530 Please loginwith USER and PASS.530 Please loginwith USER and PASS.KERBEROS_V4 rejectedas an authentication typeName(127.0.0.1:root): anonymous331 Please specifythe password.Password:230 Loginsuccessful.Remote system typeis UNIX.Using binary mode totransfer files.ftp> bye221 Goodbye.[root@localhost ~]# 3. 修改配置文件/etc/vsftpd/vsftpd.conf[root@localhost ~]#vi /etc/vsftpd/vsftpd.conf取消下面内容前面的注释或添加anonymous_enable=YES/NO 是否允许匿名用户访问chroot_list_enable=YES 限定用户不可以离开主目录chroot_list_file=/etc/vsftpd/chroot_list loca_enable=YES/NO 本地用户是否可以访问 注:如果为NO 则所有虚拟用户都将不能访问原因:虚拟用户访问在主机上其实是以本地用户访问的pam_service_name=vsftpd pam认证文件名在/etc/pam.d/vsftpdguest_enable=YES 启用虚拟用户功能guest_username=ftp 指定虚拟用户的宿主用户 –centos 里面已经有内置的ftp用户了(注:此用户在chroot_list_file=/etc/vsftpd/chroot_list文件里所指定的用户)user_config_dir=/etc/vsftpd/vuser_conf 设置虚拟用户个人vsftp的服务配置文件(此文件后面不能出现空格) 4. 查看是否安装 db4 db4-utils[root@localhost ~]#rpm -qa|grep db4 运行后出现下面内容 说明已经安装可以使用db_load命令(主要是 db4-utils)db4-devel-4.3.29-10.el5_5.2db4-4.3.29-10.el5_5.2db4-devel-4.3.29-10.el5_5.2db4-4.3.29-10.el5_5.2db4-tcl-4.3.29-10.el5_5.2db4-utils-4.3.29-10.el5_5.2[root@localhost ~]#如果没安装则要安装db4-utils4.1安装db4-utils[root@localhost ~]#yum -y install db4-utils5. 创建 chroot_list_file=/etc/vsftpd/chroot_list文件[root@localhost ~]#vi /etc/vsftpd/chroot_list (编辑文件把 /etc/vsftpd/vsftpd.conf 中guest_username的值写到文件中本例中为 ftp) 或者直接按下面进行操作[root@localhost ~]#touch /etc/vsftpd/chroot_list[root@localhost ~]# echoftp >> /etc/vsftpd/chroot_list (此处ftp 也要是/etc/vsftpd/vsftpd.conf中的guest_username的值)6. 创建虚拟用户目录(密码文本)[root@localhost ~]#vi /etc/vsftpd/vftpuser.txtx (奇数行为用户名 ,偶数行为密码)本文中添加如下(用cat 命令查看)[root@localhost ~]#cat /etc/vsftpd/vftpuser.txtxhopehopeaazzzzz[root@localhost ~]#7.生成虚拟用户的db文件[root@localhost ~]#db_load -T -t hash -f /etc/vsftpd/vftpuser.txtx /etc/vsftpd/vftpuser.db 8. 生成虚拟用户的认证文件[root@localhostvsftpd]# vi /etc/pam.d/vsftpd#%PAM-1.0session optional pam_keyinit.so force revokeauth required pam_listfile.so item=user sense=denyfile=/etc/vsftpd/ftpusers onerr=succeedauth required pam_shells.soauth include system-authaccount include system-authsession include system-authsession required pam_loginuid.so 注释掉/etc/pam.d/vsftpd中所有的内容 反正已经不要本地用户的认证了特别注意 以下区别32位系统增加以下两句:auth required pam_userdb.so db=/etc/vsftpd/vftpuseraccount required pam_userdb.so db=/etc/vsftpd/vftpuser64位系统增加以下两句:auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuseraccount required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser 注:db=/etc/vsftpd/vftpuser 中的vftpuser 是你生成的虚拟用户的db文件 9. 创建每个虚拟用户自己的配置文件,配置文件的路径是/etc/vsftpd/vsftpd.conf中的user_config_dir=/etc/vsftpd/vuser_conf路径在 /etc/vsftpd/vuser_conf/下面创建以用户名为名称的文件(名称是/etc/vsftpd/vftpuser.txtx 下面的奇数行) [root@localhostvsftpd]# cat /etc/vsftpd/vftpuser.txtxhopehopeaazzzzz[root@localhostvsftpd]# mkdir vuser_conf[root@localhostvsftpd]# vi /etc/vsftpd/vuser_conf/hope 内容如下local_root=/var/www(虚拟用户的根目录根据实际修改)write_enable=YES (可写)download_enable=YESanon_world_readable_only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YESlocal_umask=022 10. 给文夹权限(否则不能上传 权限可自定 本人给的是 777)[root@localhostvsftpd]# chmod 777 /var/www/11. 重启vsftpd[root@localhostvsftpd]# service vsftpd restart到此安装配置完成 如果出现连接被 同位体重置 或其它错误 请查看SELinux的当前模式 12. 登录测试[root@localhost vsftpd]# ftp 127.0.0.1Connected to 127.0.0.1.220 (vsFTPd 2.0.5)530 Please login with USER and PASS.530 Please login with USER and PASS.KERBEROS_V4 rejected as anauthentication typeName (127.0.0.1:root): hope331 Please specify the password.Password:500 OOPS: cannot changedirectory:/var/wwwLogin failed.ftp> 查看方法[root@localhost vsftpd]# getenforceEnforcing 如果出现(Enforcing )关闭方法:[root@localhost vsftpd]#setenforce 0(0|1 开|关) 再次测试 登录成功[root@localhost vsftpd]# chmod 777/var/www/[root@localhost vsftpd]# ftp 127.0.0.1Connected to 127.0.0.1.220 (vsFTPd 2.0.5)530 Please login with USER and PASS.530 Please login with USER and PASS.KERBEROS_V4 rejected as anauthentication typeName (192.168.1.107:root): hope331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> 查看系统是多少位的命令[root@bogon ~]# getconf LONG_BIT64 (64|32)