您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > Linux下的Ftp-Server
RedHatEnterpriseLinuxAs4.3Linux下的FtpSeverFTPSERVERsshssh一、什么是ftp1、文件传输协议(FileTransferProtocol,FTP)标准是在RFC959说明的。2、协议定义了一个在远程计算机系统和本地计算机系统之间传输文件的一个标准。3、ftp运行在OSI模型的应用层,并利用传输控制协议TCP在不同的主机之间提供可靠的数据传输。4、ftp在文件传输中还支持断点续传功能,可以大幅度地减小CPU和网络带宽的开销。二、ftp的特点ftp文件传输协议(filetransferprotocol),他通过客户端和服务器端的ftp应用程序,在internet上实现远程文件传送,是internet上实现资源共享的基本手段之一,只要两台计算机遵守ftp协议,不受操作系统的限制,就可以进行文件传输。在实际的应用中,各种操作系统中都开发了应用于本系统的、遵守ftp协议的ftp的应用程序。使用端口:20(ftp-data),21(ftp-control)三、ftp服务器的连接模式1、主动模式:client先连接服务器的21端口(命令端口),然后client开放一个大于1024的端口等待服务器的20端口连接,21号端口的链接建立以后,服务器就用20去连接client开放的端口,简单来说就是服务器主动连客户端基于上面的连接方式,如果client端有个防火墙,服务器的20端口就连接不进入,导致会连接失败。2、被动模式:就是client开启大于1024的n端口连接服务器的21(命令端口),同时开启n+1端口当21号端口连接成功后,client会发送PASV命令,通知服务器自己处于被动模式,服务器收到这个消息后,就会开放一个大于1024的端口Y通知client,client接到通知后就会用n+1来连接服务器的Y端口,简单的说就是client主动连接服务器四、ftp服务器的访问方式1、Dos:C:\ftpftp.jljc.net|ftp192.168.9.2542、Windows:IE,MozillaFirefox3、Linux:#ftpftp.jljc.net|ftp192.168.9.254gftp(text/X11)五、常见的ftpserversoftware(软件)1、Wu-ftpd–服务器软件。2、Proftpd–配置文件的格式,是一个独立的配置文件中配置虚拟域以及配置目录的访问权限。3、Vsftpd–目前最安全,最高效的ftp服务器。六、vsftpd是一个基于GPL发布的FTP服务器软件。其中的vs是“VerySecure”的缩写,由此名称缩写可以看出,本服务器的初衷就是服务的安全性。vsftpd也是REDHAT默认安装的ftp服务器软件。1、rpm–qa|grepvsftpd2、rpm–qlvsftpd3、vsftpd主配置目录/etc/vsftpd/vsftpd.conf六、vsftpd支持的用户类型1、匿名用户:使用公共的用户账号进行登录(ftp|anonymous),通常用于提供公共文件下载服务。2、本地用户:即实名用户,使用linux系统本身用户账号登录,每个用户都使用自己的宿主目录。3、虚拟用户:使用独立的文件保存虚拟账号,安全性较高,灵活性强,可替代本地用户。七、匿名用户servicevsftpdstart启动ftp服务1、Dos:ftp192.168.9.2542、、linuxftplocalhost|127.0.0.1让匿名用户能够进行上传数据1、#anon_upload_enable=YES打开此注释行2、#anon_mkdir_write_enable=YES匿名用户可以进行创建目录3、#[root@jljcpub]#ls-ld/var/ftp/pub/drwxrwxr-x2rootftp4096Apr200:09/var/ftp/pub/4、#anon_other_write_enable=yes打开匿名用户的其他写入权限八、命令行访问模式常用命令Help显示FTP命令行的作用如:helpgetOpenhost建立指定FTP服务器连接Close中断与远程服务器的FTP会话,与OPEN对应Cdremote-dir进入远程主机目录Pwd显示远程主机的当前工作目录Mkdirdir-name在远程主机中新建一目录Ls[remote-dir][local-file]显示远程目录remote-dir,并存入本地文件local-fileSizefile-name显示远程主机文件大小Getremote-file[local-file]将远程主机的文件remote-file传至本地硬盘的local-fileMgetremote-file传输多个远程文件Regetremote-file[local-file]与GET类似,但如果local-file存在则执行断点续传Putlocal-file[remote-file]将本地文件local-file传送至远程主机Mputlocal-file将多个文件传送至远程主机Rename[from][to]更改远程主机文件名Deleteremote-file删除远程主机文件Mdelete[remote-file]删除远程主机上的多个文件Rmdirdir-name删除远程主机目录Status显示当前FTP状态Bye/quit退出FTP会话过程九、本地用户(实名用户)useraddadminpasswdadmin本地用户访问的ftpserver的权限为rwx,目录为自己的家目录。十、主配置目录的参数1、anonymous_enable=YES是否允许匿名ftp用户访问(默认为YES)。2、anon_upload_enable=YES是否允许匿名ftp用户上传(默认被注释即不支持)3、local_enable=YES是否允许本地用户登录4、local_umask=022默认的umask码配置文件里面没有anon_umask,其实可以用这条,权限掩码,比如umask是022,你创建一个文件本来是666就要-022=644目录为7555、dirmessage_enable=YES是否显示目录说明文件,默认是YES但需要手工创建.message文件这个.message,只有用命令登陆或者用工具,才可以看见,他不是一个弹出对话框,而是一段字符。6、connect_from_port_20=YES是否确信端口传输来自20(ftp-data)7、chown_username=username是否改变上传文件的属主,如果是需要输入一个系统用户名,你可以把上传的文件都改成root属主8、xferlog_file=/var/log/vsftpd.logftp传输日志的路径和名字默认是/var/log/vsftpd.log9、xferlog_std_format=YES是否使用标准的ftpxferlog模式10、idle_session_timeout=600设置默认的断开不活跃session的时间11、data_connection_timeout=120设置数据传输超时时间12、ascii_upload_enable=YES13、ascii_download_enable=YES是否使用ascii码方式上传和下载文件ASCII码:美国(国家)信息交换标准(代)码,一种使用7个或8个二进制位进行编码的方案,最多可以给256个字符(包括字母、数字、标点符号、控制字符及其他符号)分配(或指定)数值。ASCII码于1968年提出,用于在不同计算机硬件和软件系统中实现数据传输标准化,在大多数的小型机和全部的个人计算机都使用此码。14、userlist_enable=YES在/etc/vsftpd/user_list文件中列出用户不能访问FTP服务器15、tcp_wrappers=YES是否支持tcp_wrappers十一、用户控制1、/etc/vsftpd.ftpusers放在这个目录的用户默认禁止访问ftpserver这个目录和/etc/pam.d/vsftpd进行结合使用,验证数据库默认禁止,最后结果禁止,可以把禁止更改为允许,最后结果只有放在这个目录/etc/vsftpd.ftpusers的用户是允许的,没有在这个目录的则拒绝。authrequiredpam_listfile.soitem=usersense=deny|allowfile=/etc/vsftpd.ftpusersonerr=succeed2、/etc/vsftpd.user_list默认放在这个目录的用户为禁止访问ftpsever这个目录结合ftp的主配置文件userlist_enable=yesuserlist_deny=yes|no结合使用如果userlist_deny=yes在放在/etc/vsftpd.user_list的用户禁止访问ftpsever如果userlist_deny=no则放在/etc/vsdftpd.user_list的用户允许访问ftpserver,没有放在/etc/vsftpd.user_list这个目录的用户名无权访问ftpserver。3、chroot_list_enable=YESchroot_list_file=/etc/vsftpd.chroot_list主要作用将本地实名用户锁定到自己的家目录,不能切换到其他目录,比如/etc等系统重要目录,一达到一定的系统安全。chroot就像一个笼子一样,把用户关在特定的目录。默认匿名账号以启用chroot功能。十二、vsftpd的性能与安全选项•设置空闲的用户会话的中断时间oidle_session_timeout=600o将在用户会话空闲10分钟后被中断。•设置空闲的数据连接的的中断时间odata_connection_timeout=120o将在数据连接空闲2分钟后被中断。•设置客户端空闲时的自动中断和激活连接的时间oaccept_timeout=60oconnect_timeout=60o将使客户端空闲1分钟后自动中断连接,并在中断1分钟后自动激活连接oanon_max_rate=20000设置最大匿名用户的最大传输速率为20KBPSolocal_max_rate=1000000设置本地用户的最大传输速度为1MBPS•关于被动模式的数据连接opasv_enable=Yes#被动模式打开opasv_min_port=50000opasv_max_port=60000o以上的5000060000均为被动联接模式下,即客户端发起FTP-DATA连接时,服务器响应的端口范围是50000-60000间提高安全。默认为0•设置用户类型的访问olocal_enable=YES/NOoguest_enable=YES/NOoanonymous_enable=YES/NOomax_clients=100最大联接FTP的并发用户数omax_per_ip=2设置每个用户同时段并发下载线程数为2,即同时只能下载2个文件。olocal_root=本地实名用户默认访问的目录oanon_root=匿名用户访问的默认目录十三、虚拟用户十四、案例企业环境公司为了宣传最新的产品信息,计划搭建FTP服务器,为客户提供相关文档的下载。对所有权互联网开放共享目录,允许下载产品信息,禁止上传。公司的合作单位能够使用FTP服务器进行上传和下载,但不可以删除数据。并且保证服务器的稳定性,进行适当优化设置需求分析根据企业的需求,对于不同用户进行不同的权限限制,FTP服务器需要实现用户的审核。需考虑到服务器的安全性,所以关闭实体用户登录,使用虚拟帐号验证机制,并对不同虚拟帐号设置不同的权限。为了保证服务器的性
本文标题:Linux下的Ftp-Server
链接地址:https://www.777doc.com/doc-6012680 .html