常用FTP服务器Linux环境:vsftpdVerySecureFTPproftpdProfessionalFTPdaemon是针对Wu-FTP的弱项而开发.wu-ftpd较早之前使用.Windows环境:IISServ-UFTP客户端Linux环境:ftp、ncftp、lftp命令行工具gftp浏览器firefoxWindows环境:ftp命令行工具CuteFTPpro浏览器IEvsftpd服务器的特点安全、高速、稳定可设定多个基于IP的虚拟FTPserver匿名FTP服务非常容易匿名FTP的根目录不需要任何特殊的目录结构,或系统程序或其他系统文件不执行任何外部程序,从而减少了安全隐患支持虚拟用户支持带宽限制支持xinetd启动和独立FTP服务器两种运行方式谁在使用vsftpdftp.redhat.comftp.suse.orgftp.debian.orgftp.gnu.orgftp.kde.orgftp.gnome.orgftp.openbsd.org用户类型本地用户用户在FTP服务器上拥有账号,且该账号为为本地用户的账号.可以通过输入自己的账号和口令进行授权登录.登录目录为自己的home目录($HOME)虚拟用户用户在FTP服务器上拥有账号,但该账号只能用于文件传输服务.登录目录为某一指定的目录.通常可以上传和下载.匿名用户用户在FTP服务器上没有账号.登录目录为/var/ftp.vsftp的基本使用安装并启动vsftpdvsftpd的配置文件vsftpd.conf的一些默认配置选项测试vsftpd的默认配置—匿名帐号测试vsftpd的默认配置—本地帐号查看和服务管理查看是否安装了vsftpdrpm–qa|grepvsftpd启动vsftpdservicevsftpdstart或者/etc/init.d/vsftpdstart检验vsftpd是否已启动pstree|grepvsftpdvsftpd的配置文件/etc/vsftpd/vsftpd.conf主配置文件/etc/vsftpd.ftpusers指定哪些用户不能访问FTP服务器/etc/vsftpd.user_list当在/etc/vsftpd/vsftpd.conf中设置了userlist_enable=YES,且userlist_deny=YES时,vsftpd.user_list中指定的用户不能访问FTP服务器.当在/etc/vsftpd/vsftpd.conf中设置了userlist_enable=YES,且userlist_deny=NO时,仅仅允许vsftpd.user_list中指定的用户访问FTP服务器.vsftpd.conf默认配置选项首先备份vsftpd.conf文件cp/etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd.conf.bak允许匿名登录anonymous_enable=YES允许本地用户登录local_enable=YES开放本地用户的写权限write_enable=YES设置本地用户的文件生成掩码local_umask=022vsftpd.conf默认配置选项显示隐含文件dirmessage_enable=YES激活上传和下载日志xferlog_enable=YES启用FTP数据端口的连接请求connect_from_port_20=YES使用标准的ftpdxferlog日志格式xferlog_std_format=YES设置PAM认证服务的配置文件名称pam_service_name=vsftpdvsftpd.conf默认配置选项激活vsftpd.user_list指定的用户是否可以访问vsftpduserlist_enable=YESuserlist_file的默认值是/etc/vsftpd.user_list文件.由于默认情况下,userlist_deny=YES.使vsftpd处于独立启动模式listen=YES使用tcp_wrappers作为主机的访问控制方式Tcp_wrappers=YES测试匿名帐号在匿名帐号的下载目录/var/ftp/pub目录下,存放一个测试文件echo“Thisisatestfile”/var/ftp/pub/test.txt生成目录信息文件/var/ftp/pub/.messageechoWelcometothisDirectory./var/ftp/pub/.message使用FTP客户端连接FTP服务器下载test.txt----成功上传一个文件,例如upload.txt----失败查看日志文件/var/log/vsftpd.log需要配置选项xferlog_file=/var/log/vsftpd.log测试本地帐号以本地帐号oracle测试vsftpd服务器使用root不能登录vsftpd服务器root用户被写在/etc/vsftpd.ftpusers文件中小结允许匿名用户和本地用户登录.匿名用户的登录名为ftp或anonymous.匿名用户不能离开匿名服务器目录/var/ftp,且只能下载不能上传.本地用户(vsftpd服务器)的登录名为本地用户名Oracle,口令为本地用户的口令123本地用户可以离开其home目录,切换到有权访问的其他目录,并且在权限允许的情况下进行上传和下载.写在文件/etc/vsftpd.ftpusers中的本地用户禁止登录.常用vsftpd服务器的配置允许匿名用户上传配置基本的性能和安全选项配置基于本地用户的访问控制配置基于主机的访问控制配置vsftpd在非标准端口下提供服务配置基于IP的虚拟FTP服务器配置虚拟用户的FTP服务器允许匿名用户上传在/etc/vsftpd/vsftpd.conf中激活如下配置选允许匿名用户上传write_enable=YESanon_upload_enable=YESanon_umask=022允许匿名用户创建目录anon_mkdir_write_enable=YES允许匿名用户进行写操作,如删除和重命名文件或目录anon_other_write_enable=YES匿名用户仅被允许下载对于它可读的文件anon_world_readable_only=YES性能和安全选项设置空闲用户会话的中断时间(s)idle_session_timeout=600设置空闲的数据连接的中断时间(s)data_connection_timeout=120限制客户连接数max_clients=200max_per_ip=3设置最大传输速率限制(B/s)local_max_rate=50000anon_max_rate=30000安全选项不允许某些用户切换到其home目录以外的其他目录chroot_list_enable=YESchroot_list_file=/etc/vsftpd.chroot_list/etc/vsftpd.chroot_list文件中指定的用户不能访问其home目录以外的其他目录不允许所有用户切换到其home目录以外的其他目录chroot_local_user=YES仅允许某些用户切换到其home目录以外的其他目录chroot_local_user=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpd.chroot_list/etc/vsftpd.chroot_list文件中指定的用户能够访问其home目录外的其他目录本地用户的访问控制使选项userlist_file对应的文件,默认值为:/etc/vsftpd.user_list指定的本地用户不能访问userlist_enable=YESuserlist_deny=YES指定的本地用户可以访问userlist_enable=YESuserlist_deny=NO配置虚拟用户生成虚拟用户口令库文件建立一个文本文件,存储虚拟用户名和口令vilogins.txt使用db_load生成口令库文件db_load–T–thash–f~/logins.txt/etc/vsftpd/vsftpd_login.db修改口令库文件的权限chmod600/etc/vsftpd/vsftpd_login.db配置虚拟用户PAM配置生成vsftpd的认证文件:PAM配置文件vi/etc/pam.d/vsftp.vu插入如下的两行authrequired/lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_loginaccountrequired/lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_login配置虚拟用户建立虚拟用户所要访问的目录并设置相应权限建立虚拟用户要访问的目录,并设置仅virutal用户访问的权限:useradd–d/home/ftpsitevirtualchmod700/home/ftpsite配置虚拟用户由备份的配置文件/etc/vsftpd/vsftpd.conf.bak生成新的主配置文件–––独立运行且匿名下载cp/etc/vsftpd/vsftpd.conf.bak/etc/vsftpd/vsftpd.confanonymouns_enable=NOlocal_enable=YESwrite_enable=NOanon_upload_enable=NOanon_mkdir_write_enable=NOanon_other_write_enable=NOguest_enable=YESguest_username=virtualguest_username=virtual