go语言ftp服务器 golang ftp服务器

telnet、gopher、www、FTP各是什么?怎么分的?还有TCP/IP协议是什么,它们有什么不一样,有什么联系?

这些都是网络是上协议,要解释清楚起码要长篇大论,并且也不一定解释的清楚。简单的跟你说一下 1.Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。 2.Gopher是Internet上一个非常有名的信息查找系统,它将Internet上的文件组织成某种索引,很方便地将用户从Internet的一处带到另一处。允许用户使用层叠结构的菜单与文件,以发现和检索信息,它拥有世界上最大、最神奇的编目。 3.WWW是环球信息网(World Wide Web )的缩写,也可以简称为Web,中文名字为“万维网” 4.FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。 5.TCP/IP(Transmission Control Protocol/Internet Protocol)的简写,中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是Internet最基本的协议、Internet国际互联网络的基础,简单地说,就是由网络层的IP协议和传输层的TCP协议组成的。

专注于为中小企业提供做网站、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业南岸免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

FTP服务器是什么?

从广义上讲,服务器是指网络中能对其它机器提供某些服务的计算机系统(如果一个PC对外提供ftp服务,也可以叫服务器)。

从狭义上讲,服务器是专指某些高性能计算机,能通过网络,对外提供服务。相对于普通PC来说,稳定性、安全性、性能等方面都要求更高,因此在CPU、芯片组、内存、磁盘系统、网络等硬件和普通PC有所不同。

服务器作为网络的节点,存储、处理网络上80%的数据、信息,因此也被称为网络的灵魂。做一个形象的比喻:服务器就像是邮局的交换机,而微机、笔记本、PDA、手机等固定或移动的网络终端,就如散落在家庭、各种办公场所、公共场所等处的电话机。我们与外界日常的生活、工作中的电话交流、沟通,必须经过交换机,才能到达目标电话;同样如此,网络终端设备如家庭、企业中的微机上网,获取资讯,与外界沟通、娱乐等,也必须经过服务器,因此也可以说是服务器在“组织”和“领导”这些设备。

它是网络上一种为客户端计算机提供各种服务的高性能的计算机,它在网络操作系统的控制下,将与其相连的硬盘、磁带、打印机、Modem及各种专用通讯设备提供给网络上的客户站点共享,也能为网络用户提供集中计算、信息发表及数据管理等服务。它的高性能主要体现在高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力等方面。

服务器的构成与微机基本相似,有处理器、硬盘、内存、系统总线等,它们是针对具体的网络应用特别制定的,因而服务器与微机在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面存在差异很大。尤其是随着信息技术的进步,网络的作用越来越明显,对自己信息系统的数据处理能力、安全性等的要求也越来越高,如果您在进行电子商务的过程中被黑客窃走密码、损失关键商业数据;如果您在自动取款机上不能正常的存取,您应该考虑在这些设备系统的幕后指挥者————服务器,而不是埋怨工作人员的素质和其他客观条件的限制。

目前,按照体系架构来区分,服务器主要分为两类:

非x86服务器:包括大型机、小型机和UNIX服务器,它们是使用RISC(精简指令集)或EPIC处理器,并且主要采用UNIX和其它专用操作系统的服务器,精简指令集处理器主要有IBM公司的POWER和PowerPC处理器,SUN与富士通公司合作研发的SPARC处理器、EPIC处理器主要是HP与Intel合作研发的安腾处理器等。这种服务器价格昂贵,体系封闭,但是稳定性好,性能强,主要用在金融、电信等大型企业的核心系统中。

x86服务器:又称CISC(复杂指令集)架构服务器,即通常所讲的PC服务器,它是基于PC机体系结构,使用Intel或其它兼容x86指令集的处理器芯片和Windows操作系统的服务器,如IBM的System x系列服务器、HP的Proliant 系列服务器等。 价格便宜、兼容性好、稳定性差、不安全,主要用在中小企业和非关键业务中。

从当前的网络发展状况看,以“小、巧、稳”为特点的x86架构的PC服务器得到了更为广泛的应用。

 从理论定义来看,服务器是网络环境中的高性能计算机,它侦听网络上其它计算机(客户机)提交的服务请求,并提供相应的服务。为此,服务器必须具有承担服务并且保障服务质量的能力。

但是这样来解释仍然显得较为深奥模糊,其实服务器与个人电脑的功能相类似,均是帮助人类处理信息的工具,只是二者的定位不同,个人电脑(简称为Personal Computer,PC)是为满足个人的多功能需要而设计的,而服务器是为满足众多用户同时在其上处理数据而设计的。而多人如何同时使用同一台服务器呢?这只能通过网络互联,来帮助达到这一共同使用的目的。

我们再来看服务器的功能,服务器可以用来搭建网页服务(我们平常上网所看到的网页页面的数据就是存储在服务器上供人访问的)、邮件服务(我们发的所有电子邮件都需要经过服务器的处理、发送与接收)、文件共享打印共享服务、数据库服务等。而这所有的应用都有一个共同的特点,他们面向的都不是一个人,而是众多的人,同时处理的是众多的数据。所以服务器与网络是密不可分的。可以说离开了网络,就没有服务器;服务器是为提供服务而生,只有在网络环境下它才有存在的价值。而个人电脑完全可以在单机的情况下完成主人的数据处理任务。

服务器的硬件构成:

其实说起来服务器系统的硬件构成与我们平常所接触的电脑有众多的相似之处,主要的硬件构成仍然包含如下几个主要部分:中央处理器、内存、芯片组、I/O总线、I/O设备、电源、机箱和相关软件。这也成了我们选购一台服务器时所主要关注的指标。

整个服务器系统就像一个人,处理器就是服务器的大脑,而各种总线就像是分布与全身肌肉中的神经,芯片组就像是脊髓,而I/O设备就像是通过神经系统支配的人的手、眼睛、耳朵和嘴;而电源系统就像是血液循环系统,它将能量输送到身体的所有地方。

对于一台服务器来讲,服务器的性能设计目标是如何平衡各部分的性能,使整个系统的性能达到最优。如果一台服务器有每秒处理1000个服务请求的能力,但网卡只能接受200个请求,而硬盘只能负担150个,而各种总线的负载能力仅能承担100个请求的话,那这台服务器得处理能力只能是100个请求/秒,有超过80%的处理器计算能力浪费了。

所以设计一个好服务器的最终目的就是通过平衡各方面的性能,使得各部分配合得当,并能够充分发挥能力。我们可以从这几个方面来衡量服务器是否达到了其设计目的:R:Reliability——可靠性;A:Availability——可用性;S:Scalability——可扩展性;U:Usability——易用性; M:Manageability——可管理性,即服务器的RASUM衡量标准。

由于服务器在网络中提供服务,那么这个服务的质量对承担多种应用的网络计算环境是非常重要的,承担这个服务的计算机硬件必须有能力保障服务质量。这个服务首先要有一定的容量,能响应单位时间内合理数量的服务器请求,同时这个服务对单个服务请求的响应时间要尽量快,还有这个服务要在要求的时间范围内一直存在。

如果一个WEB服务器只能在1分钟里处理1个主页请求,1个以外的其他请求必须排队等待,而这一个请求必须要3分钟才能处理完,同时这个WEB服务器在1个小时以前可以访问到,但一个小时以后却连接不上了,这种WEB服务器在现在的Internet计算环境里是无法想象的。

现在的WEB服务器必须能够同时处理上千个访问,同时每个访问的响应时间要短,而且这个WEB服务器不能停机,否则这个WEB服务器就会造成访问用户的流失。

为达到上面的要求,作为服务器硬件必须具备如下的特点:性能,使服务器能够在单位时间内处理相当数量的服务器请求并保证每个服务的响应时间;可靠性,使得服务器能够不停机;可扩展性,使服务器能够随着用户数量的增加不断提升性能。因此我们说不能把一台普通的PC作为服务器来使用,因为,PC远远达不到上面的要求。这样我们在服务器的概念上又加上一点就是服务器必须具有承担服务并保障服务质量的能力。这也是区别低价服务器和PC的差异的主要方面。

在信息系统中,服务器主要应用于数据库和Web服务,而PC主要应用于桌面计算和网络终端,设计根本出发点的差异决定了服务器应该具备比PC更可靠的持续运行能力、更强大的存储能力和网络通信能力、更快捷的故障恢复功能和更广阔的扩展空间,同时,对数据相当敏感的应用还要求服务器提供数据备份功能。而PC机在设计上则更加重视人机接口的易用性、图像和3D处理能力及其他多媒体性能。

怎么建立一个FTP服务起

Serv-U 是目前众多的FTP 服务器软件之一。通过使用Serv-U,用户能够将任何一台PC 设置成一个FTP 服务器,这样,用户或其他使用者就能够使用FTP 协议,通过在同一网络上的任何一台PC与FTP 服务器连接,进行文件或目录的复制,移动,创建,和删除等。这里提到的FTP 协议是专门被用来规定计算机之间进行文件传输的标准和规则,正是因为有了象FTP 这样的专门协议,才使得人们能够通过不同类型的计算机,使用不同类型的操作系统,对不同类型的文件进行相互传递。

虽然目前FTP 服务器端的软件种类繁多,相互之间各有优势,但是Serv-U 凭借其独特的功能得以展露头脚。具体来说,Serv-U 能够提供以下功能:

符合windows 标准的用户界面友好亲切,易于掌握。

支持实时的多用户连接,支持匿名用户的访问;通过限制同一时间最大的用户访问人数确保PC 的正常运转。

安全性能出众。在目录和文件层次都可以设置安全防范措施。能够为不同用户提供不同设置,支持分组管理数量众多的用户。可以基于IP 对用户授予或拒绝访问权限。

支持文件上传和下载过程中的断点续传。

支持拥有多个IP 地址的多宿主站点。

能够设置上传和下载的比率,硬盘空间配额,网络使用带宽等,从而能够保证用户有限的资源不被大量的FTP 访问用户所消耗。

可作为系统服务后台运行。

可自用设置在用户登录或退出时的显示信息,支持具有UNIX 风格的外部链接。

上面列出的只是Serv-U 众多功能中的一部分,具体的使用将在下文中进行详细的介绍,这里要说明的? 时,Serv-U 在保持功能全面,强大的基础上,提供的完全易于使用的操作界面,可以说一切尽在掌握。

使用说明

用户在使用Serv-U 的过程中可能会碰到的所有设置问题都可以通过Serv-U 窗口中的菜单选项实现。如果用户在安装Serv-U 之后,启动Serv-U 时,屏幕上没有显示出Serv-U 的控制窗口的话,可以用鼠标右键点击位于任务条系统托盘中的Serv-U 图标(一个大写的字母“U”),然后选择弹出菜单中的第一项“Show Window”,这样屏幕上就会显示出Serv-U 的控制窗口。

设置FTP服务器

位于Serv-U 控制窗口中的“SETUP”菜单中的第一项“FTP-SERVER”用来对FTP 服务器进行总体上的设置。在选择之后出现的窗口中的第一项“FTP PORT NUMBER”用来设置FTP服务器使用的端口号,FTP服务器将会通过该端口收听所有来访用户的信息。一般情况下,FTP 服务器的默认端口号为21,但是用户可以根据自己的情况自由的进行更改,只要能够保证所采用的端口号与其它网络应用不冲突即可。这里需要说明的一点是,使用用户自己选择的服务器端口可以起到很好的安全防范作用,这时,只有用户自己和其他知道该端口号的用户才能够成功的实现与服务器的连接。因此,建议用户在设置F TP 服务器的时候使用自己选定的端口,而不要只是简单的使用默认值。

随后用户需要设置服务器所能提供的最大速度。一般情况下,用户可以将这项空出,那么服务器将会利用所有可能的带宽为客户提供服务。能够为用户提供最大的访问速度当然很好,但是过多的F TP 用户可能会蚕食掉一切可能的带宽,从而使其它的网络应用几乎不可能实现。因此,合理的控制FTP 服务器所能够占用的最大带宽还是很重要的。

下一项是设置服务器允许的最大用户访问量。在此,用户可以限制同一时间内访问FTP 服务器的最大人数。如果把该项设为0,那么FTP 服务器将会拒绝任何用户访问要求;如果将该项空出,那么Serv-U 将不会对访问人数进行控制,直到耗尽所有的系统资源。如果用户希望自己的FTP 服务器能够保持正常运转的话,那么最好对来访的用户数量进行合理的限制。一般情况下,即使老式的486 机器,在使用Serv-U之后,也能够在同一时间内为20多名用户提供访问支持。

在此之后的一系列复选项中的第一项为“启动安全功能”。如果用户没有选择该项,那么任何人通过网络都可以直接进入FTP 服务器,对服务器中的任何文件进行随意地复制,改动,甚至删除。除了那些拥有小范围内的个人网络,不希望每次登录都重复输入用户名、密码等烦杂手续的人之外,用户一定要确保已经选中了该选项,即启动了服务器的安全防范功能。

下一项“ENCRYPT PASSWORDS”在默认情况下也被自动选中。这样,Serv-U 将会使用与UNIX 操作系统相同的加密机制加密并保存用户的密码。如果用户不选择对密码进行加密,那么所有用户输入的口令将会以明文的方式保存在位于S erv-U 安装目录下的Serv-U.ini 文件中。

随后一项用来设定是否需要匿名访问用户输入密码。默认情况下,该项为空白,这样那些使用匿名帐号访问FTP 服务器的用户将不被要求输入口令。需要注意的是这里对匿名用户密码的检测非常简单,只要匿名用户输入符合邮件地址格式的任意字符串即可,S erv-U 不会进一步的判断用户输入的邮件地址是否真正存在。

下一项为预防反超时措施。如果用户选择了该选项,Serv-U 将会采用新的记时方式,那些希望通过定期向服务器发送命令来防止出现超时操作的用户将不再得逞。

随后的选项被用来设定是否删除没有完整上传的文件,如果用户不使用该删除功能,那么当有用户在向FTP 服务器上传文件的过程中出现错误而没有实现文件的完整上传时,Serv-U 将会在硬盘上保留已上传的内容,从而实现上传文件的断点续传。

下面我们要讨论的是跨FTP 攻击。通常状况下,当使用FTP 协议进行文件的传输时,客户端首先向FTP 服务器发出一个“PORT”命令,该命令中包含该用户的IP地址和将被用来进行数据传输的端口号。服务器在收到该命令后,利用命令所提供的用户地址信息建立与用户的连接。大多数情况下,上述过程不会出现任何问题,但是,当客户端是一名恶意用户时,可能会通过在P ORT 命令中加入特定的地址信息,使FTP 服务器与其它非客户端的机器建立连接。虽然这名恶意用户可能本身无权直接访问某一特定机器,但是如果FTP 服务器有权访问该机器的话,那么恶意用户通过FTP 服务器作为中介,仍然能够最终实现与目标服务器的连接。这就是我们所提到的跨服务器攻击。为了防止上述情况的发生,用户可以选择“防止跨F TP 服务器攻击”的选项,这样Serv-U在与任何来访用户建立连接之前,首先要核实该用户提供的地址信息是否为其真实地址。任何事情都是两方面的。我们已经知道通过使用S erv-U 可以防止发生跨FTP服务器的攻击,但是,同时我们也放弃了在FTP服务器和FTP 服务器之间实现数据传输的功能。这是因为Serv-U 只会与那些所提供的地址与地址提供者的实际地址相符的用户建立连接,用户将不能远程控制在两台不同的FTP 服务器之间进行文件传输。

最后的两个选项用来限制用户在FTP 服务器上的最大停留时间,以及规定服务器中文件和目录名的大小写。

该窗口中的其它相关选项我们将会在稍后进行详细介绍。

用户帐号管理

用户使用FTP 服务器的一个最基本的任务就是添加和管理用户信息。通过选择“SETUP”菜单中的“USERS”打开Serv-U 的用户管理窗口。该窗口可以分为左右两大部分。其中左边的窗口用来显示目前所有已经注册的FTP服务器的用户。任意选中其中一个用户,其详细的配置信息将会相应的显示在窗口的右边。如果是首次启动S erv-U,那么仅会显示一个名为“DEFAULT”的系统默认帐号。

下面详细介绍一下建立新用户帐号的全过程.

首先单击窗口最右边的“NEW”按钮,在随后的弹出窗口中输入需要建立的用户名。这时,输入的用户名就会出现在窗口右边的用户名一栏中。用户还可以在该栏中对所建立的帐号名称进行修改。

随后用户可以输入该帐号将要归属的用户组的组名或建立一个新的组。所谓组是人们为了便于管理数量庞大的用户群而推出的概念。我们可以把众多的单个用户划分到不同的组里进行统一的管理。因为属于同一个组的用户都具有一些共同的属性,例如用户密码,根目录等,所以用户只需要对个别具有特殊属性的帐号进行个别设置即可,这样就极大的简化了对用户帐号的管理和维护工作。需要注意的一点是,“A nonymous”这个特殊的用户帐号不属于任何一个用户组。

在随后的密码栏中需要输入帐号的口令,如果用户在服务器的设置中选择了加密密码的选项(见前文),那么所输入的密码将自动以加密方式储存。关于密码很重要的一点是只有输入的前8 位字符有效,希望能够引起广大Serv-U 使用者的注意。另外,如果用户在建立新的帐号时没有输入相应的密码,那么并不意味着该用户帐号没有密码,Serv-U 将会尝试着寻找是否该用户帐号属于某一个用户组并且该用户组具有统一的密码。如果Serv-U 没有找到相应的用户组密码的话,将会拒绝该用户帐号的访问。如果用户确实希望不规定某个帐号的密码,只要在相应帐号的密码一栏中输入“$ #@60;$#@60;None$#@62;$#@62;”即可。上述情况的一个例外是Anonymous 用户帐号,该帐号没有密码,Serv-U 只要求用户输入符合邮件地址格式的任意字符串即可。

在“HOME”一栏中,设置FTP 用户的根目录,即用户在成功登录之后所自动位于的起始目录。每一个用户帐号都要有自己的根目录,否则Serv-U 将拒绝该用户帐号的访问。当然,如果该帐号属于某个组,而该用户组已经设定了共同的根目录,那么用户就不必对该用户组内的每个帐号进行重复设置。用户在输入根目录的地址时应当注意必须使用完全路径,包括盘符。

在“NOTE”一栏中,用户可以选择输入一些对帐号起辅助说明的文字以备将来参考之用。

在用户窗口右边最大的一栏用来设定帐号的访问权限,从而决定用户可以访问哪些文件,并以何种方式访问这些。Serv-U 按照文件和目录两大类别对用户的访问权限进行了划分。具体来说包括:

对文件的访问权限:

READ:允许用户下载文件;

WRITE:允许用户上传文件,但无权对文件进行更改,删除,或重命名;

APPEND:允许用户对已有的文件进行附加,拥有APPEND权限的用户自动拥有WRITE

权限;

DELETE:允许用户对文件进行改动,重命名,或删除。拥有DELETE权限的用户自动拥

有WRITE 和APPEND 权限;

EXECUTE:允许用户通过FTP 运行可执行文件。例如,用户可以远程运行DOS或Windows

程序。

对目录的访问权限:

LIST:允许用户取得目录列表;

MAKE:允许用户在根目录下建立新的子目录;

REMOVE:允许用户删除根目录下的子目录。

INHERIT:选中该选项之后,对某一目录设置的访问权限将自动被该目录下的所有子目录

继承。

在完成上述所有设置之后,点击“STORE”按钮,新建立的用户帐号将被保存在FTP 服务器中。

该窗口中的其它选项将会在稍后进行详细的介绍。

实时监控

用户在完成FTP服务器的基本配置之后,就可以向外界提供FTP文件传输服务了。我想很多用户都希望在提供FTP 服务的过程中,能够实时地对访问自己服务器的用户进行监控,从而一方面既能够对整个服务过程做到心中有数,另一方面还可以在可能出现意外问题之前,采取及时的防范和补救措施。在这一方面,相信S erv-U 能够充分满足大家的需求。

首先,让我们看一下如何利用Serv-U 实现实时的用户监控。

选择“FILE”菜单中的“USER INFO”选项。在弹出窗口中的上半部分将会显示出所有当前正在与服务器连接的用户。用鼠标点击其中的任一用户将会在窗口的下半部分出现该用户的详细信息。

在窗口的右下方有一个“SPY ON USER”按钮,点击之后出现的窗口将会显示出特定用户向FTP服务器发出以及FTP 服务器响应的所有命令。该窗口将会跟踪所选用户的所有命令,对了解特定用户在访问FTP 服务器的过程中的所有行为提供了可*的依据。

在该按钮下方还有一个名为“KILL USER”的按钮,如果用户发现某个来访用户的行为可疑,可能会对FTP 服务器的正常工作带来危害的话,可以通过使用该按钮立即中断与该用户的连接,将该用户踢出FTP 服务器。

需要注意的一点是,虽然Serv-U 能够提供实时的用户监控信息,但是需要耗用很大一部分的系统资源。如果用户发现系统性能出现明显下降的话,可以通过窗口右侧的“F REEZE LIST”按钮暂时冻结窗口信息的动态显示,从而释放出宝贵的系统资源。

设置服务器端日志记录

除了能够实时的进行监控之外,Serv-U还提供了强大的日志记录功能,从而方便用户记录和总结一段时期内Serv-U的运行情况。

选择“FILE”菜单下的“LOGGING”,弹出日志设置窗口,用户可以选择对哪些事件进行记录,以及将记录信息保存到何处。

在该窗口的右侧,用户可以选择对不同的事件进行记录,其中包括系统信息,安全信息等,同时用户还可以设置是将所记录 畔⑾允驹赟erv-U 的主窗口内,还是保存到某一指定文件内。出于耗用系统资源和备份信息的需要,建议用户把日志信息保存到指定的文件内。

需要说明的一点是Serv-U 的日志记录文件采用统一的格式,具体如下:

[n] DATE TIME - (xxxx) MESSAGE

最前面的数字“n”代表所记录信息的类别,分别为:

n=1:系统信息(错误信息等);

n=2:用户发出的FTP 命令;

n=3:文件下载;

n=4:文件上传;

n=5:安全信息(用户登录信息等)

n=6:服务器响应的FTP 命令;

n=7:WinSock使用记录;

n=8:DLL文件访问记录

另外,括号中的“XXXX”是Serv-U 赋予每一个来访用户的一个唯一的数字标识。

5�柚玫锹己屯顺鲂畔?

细心的用户可能会发现在登录或退出某个FTP站点时,经常会出现一个窗口,显示一些包括系统设置,欢迎访问等在内的信息。那么如何在S erv-U 下实现这一功能呢?

首先,用户需要把要显示给用户的信息保存在一个文本文件中,然后选择“SETUP”菜单中的“MESSAGES”,在弹出的窗口中进行设置。

在位于窗口最上方的下来框中,用户需要选择将要使用登录和退出信息的IP地址。因为Serv-U 支持一台机器拥有多个IP,所以用户需要选择相应的IP地址。在下面的两个选项中分别输入用户事先已经建立好的包含登录和退出信息的文本文件的地址。

使用外部连接

所谓外部连接是指那些显示在某一目录下指向位于该目录之外的某一文件或目录的连接。在用户端看来,外部连接所指向的文件或目录就位于当前目录之下,但实际上他们只是一些起连接作用的虚拟指针。使用外部连接的一个最大好处就是能够把来访用户可能需要的所有资源都集中到一个目录之中,这样用户就可以通过不同的外部连接访问实际上位于不同磁盘或不同目录的分散信息。

为了充分利用Serv-U 提供的外部连接功能,用户首先需要生成一个文本文件保存所有可能会用到的外部连接。文件的具体格式如下:

LINK NAME | SOURCENAME

其中的“LINK NAME”是显示在用户当前目录下的外部连接的名称,而“SOURCENAME”则是该外部连接实际指向的磁盘或目录。

例如我们在一个名为“LINK.TXT”的文件中写入如下一条:

CD-ROM | F:\

这样在用户的当前目录中就会出现“CD-ROM”字样,点击之后,就可以直接访问FTP 服务器的光驱。

在配置好外部连接的文本文件之后,选择“FTLE”菜单中的“FTP SERVER”,在弹出的窗口中找到“PRIMARY FIEL CONTAINING LINK”,然后输入上述文本文件的完全路径。在“PRIMARY FIEL CONTAINING LINK”下方有一个“SECONDARY FILE CONTAINING LINK”,该项是用来设定起辅助作用的外部连接文件,可以参照上述方法生成。

设置上传和下载比例

如果用户希望自己FTP 站点的使用者不仅仅使用自己提供的资源,还能够上传一些有价值的东西供大家共享的话,可以通过使用Serv-U提供的“上传和下载比例”这一功能实现。

用户可以在“FILE”菜单中的“FTP-SERVER”,“USERS”和“GROUPS”的弹出窗口中找到名为“U/D RATIOS”的功能按钮,点击之后出现设置窗口。用户可以限制每个FTP 站点的使用者每上传一个文件后可以下载的文件数。例如,如果将某个用户的上传和下载比例设置为1/3,那么该用户每上传一个文件,就可以从F TP 站点下载3个文件。

Serv-U 支持在单个会话过程或全部会话过程的范围内,按照具体传输的文件数目或文件的大小,限制用户的上传和下载比例。

使用磁盘限额

随着用户数量的增加,一个非常实际的问题就是如何既能够确保每个用户都有足够的硬盘空间可用,同时又防止FTP 服务器吞食整个机器的硬盘资源。同样,在这个问题上Serv-U提供了有力的解决方案。

用户可以分别在“FILE”菜单中的“USERS”和“GROUPS”选项的弹出窗口中找到名为“QUATO”的功能按钮。点击之后出现设置窗口,用户可以首先检测某个用户帐号当前所使用的硬盘空间,然后根据具体的情况分别设置不同的用户帐号所能支配的最大硬盘空间,从而有效的解决硬盘空间不足的问题。

基于IP地址授予或拒绝访问权限

选择“FILE”菜单中的“IP ACCESS”选项,在弹出的窗口中进行设置。

用户可以在窗口的左边设置不同的访问规则,而当前所有的访问规则将会显示在右边的列表中。

Serv-U 提供了两种基本的访问规则,分别为“拒绝访问”规则和“允许访问”规则。在“拒绝访问”规则下,所有来自用户输入的IP地址的访问者都将被拒绝访问,而来自其它I P地址的用户都将被授予访问权限。同理,如果用户选择了“允许访问”规则,那么所有来自用户输入的IP地址的访问者都将被授予访问权限,而来自其它I P 地址的用户将无权访问FTP 服务器。

通过以上功能,用户可以针对不同的IP地址,设置不同的权限,从而有效的保障FTP 服务器免受非法访问者的侵害。

三.小节

Serv-U 是一款使用简单,功能强大,易学易用的FTP 服务器端软件。相信广大用户结合以上的介绍,再加上个人的实践,一定会在最短的时间内构建起自己的功能强大的FTP服务器。

go语言怎么实现一次性上传多个文件,求代码

GetFile-----从FTP服务器上下载文件 BOOL GetFile( LPCTSTR pstrRemoteFile, LPCTSTR pstrLocalFile, BOOL bFailIfExists = TRUE, DWORD dwAttributes = FILE_ATTRIBUTE_NORMAL, DWORD dwFlags = FTP_TRANSFER_TYPE_BINARY, DWORD dwContext = 1 ); pstrRemoteFile //标识在FTP服务器上下载的文件名称pstrLocalFile //标识下载到本地时的文件名称bFailIfExists //标识如果本地的文件名已存在,是否进行下载如果为True 并且本地文件存在GetFile执行失败dwAttributes //标识文件属性 dwFlags //标识传输的方式,莫仍采用二进制传输dwContext //表示传递文件时的内容标识符

什么是FTP及什么是FTP服务器

FTP是什么

其实通俗的说FTP是一种数据传输协议,负责将我们电脑上的数据与服务器数据进行交换,比如我们要将在我们电脑中制作的网站程序传到服务器上就需要使用FTP工具,将数据从电脑传送到服务器。专业的说,FTP(全称:File

Transfer

Protocol)是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录,一般我们均是将我们电脑中的内容与服务器数据进行性传输。其实电脑与服务器是一样的,只是服务器上安装的是服务器系统,并且服务器稳定性与质量要求高些,因为服务器一般放在诸如电信等机房中,24小时都开机,这样我们才可以一直访问服务器中的相关信息。

FTP服务器是什么

上面我们简单的介绍下FTP是什么,但是还有一个FTP服务器概念大家不要混淆掉了。我们可以再电脑中安装FTP工具负责将电脑中的数据传输到服务器当中,这是服务器就称为FTP服务器,而我们的电脑称为客户端。简单的说FTP服务器就是一台存储文件的服务器,供用户上传或下载文件。

服务器的FTP怎么设置

完全可以实现,你用的ftp服务器是serv-u还是iis自带的ftp服务.

前者可以设置每个用户的根目录,然后设置里面的安全选项即可.

或者设置起来比较麻烦.

首先由建立n各帐户,然后磁盘必须设置成ntfs格式,然后去掉文件夹选项 查看里的 简单文件共享

由于本人口较笨,就从知道上找了一点资料你看看

在桌面上右击“我的电脑”,执行“管理”命令,在“计算机管理”窗口的左窗格中依次展开“系统工具”→“本地用户和组”目录,单击选中“用户”选项。在右侧窗格中单击右键,执行“新用户”命令。在打开的“新用户”对话框中填写用户名(如hanjiang),并设定密码。然后取消“用户下次登录时需更改密码”复选框,并勾选“用户不能更改密码”和“密码永不过期”复选框,单击“创建”按钮完成该用户的添加。重复这一过程添加其他用户,最后单击“关闭”按钮即可。

为方便对这些用户的管理,最好将他们放入一个专门的组中。例如我们可以创建一个“FTPUsers”组:在“计算机管理”窗口的目录树中单击选中“组”选项,然后在右侧窗格中单击右键,执行“新建组”命令,并将该组命名为“FTPUsers”。接着依次单击“添加”→“高级”→“立即查找”按钮,将刚才创建的用户全部添加进来,最后依次单击“创建”→“结束”按钮。

然而事情并没有完,因为上述创建的用户默认隶属于“Users”组,也就是说他们拥有对大部分资源的浏览权限。为了实现对特定资源的有效管理,需要将这些用户从“Users”组中删除。在“计算机管理”窗口的右侧窗格中双击“Users”选项,用鼠标拖选所有刚添加的用户并单击“删除”按钮即可。

设置独立权限

这里的权限设置需要分两部分来进行,即对FTP服务器主目录的权限设置和对各个用户文件夹的权限设置。假设FTP服务器的主目录路径为“G:/FTPServer”,我们先来取消“FTPUsers”组的用户对“FTPServer”文件夹的“写入 ”权限。右击“FTPServer”文件夹,执行“属性”命令。在打开的“FTPServer 属性”对话框中切换至“安全”选项卡下,然后依次单击“添加”→“高级”→“立即查找”按钮,单击选中“FTPUsers”组并依次单击“确定”按钮回到“FTPServer 属性”对话框。接着在“FTPUsers的权限”列表框中勾选“拒绝写入”复选框。为了使“拒绝写入”权限仅对“FTPServer”文件夹有效,还需要单击“高级”按钮,在“FTPServer的高级安全设置”对话框中双击“权限列表”中的“拒绝FTPUsers写入”选项,打开“FTPServer的权限设置”对话框。在“应用到”下拉列表中选中“只有该文件夹”选项,连续单击“确定”按钮完成设置(如图1)。

接着我们为每个用户创建独立的文件夹(以用户名命名),并针对每个文件夹赋予相应用户适当的权限。以文件夹“hanjiang”为例,在“hanjiang 属性”对话框的“安全”选项卡下将用户“hanjiang”添加进来,并赋予其读取和写入的权限。同理,对于其他文件夹,也只赋予相应用户读取和写入的权限。

小提示:需要受到权限保护的文件夹必须在NTFS分区中创建,FAT32分区内的资源无法设置权限。

至此,设置工作就全部结束了。在任意一台机器上以用户“hanjiang”的身份登录FTP服务器,你会发现该用户只能在“hanjiang”文件夹中任意读写,而无法看到主目录和其他用户目录的内容。


网站栏目:go语言ftp服务器 golang ftp服务器
URL地址:http://myzitong.com/article/hhsjjp.html