当前位置:  技术问答>linux和unix

如何建立FTP服务器??用什么软件比较好???

    来源: 互联网  发布时间:2015-01-08

    本文导语:  我用的是redhat 8.0 | proftpd 安装手记  http://www.linuxforum.net ddxxkk (2001-04-20 18:30:30)  porftpd是一个配置方法与APACHE相类似的FTP服务器,有两种运行方  式,独立服务器与超级服务器的子服务器。...

我用的是redhat 8.0

|
proftpd 安装手记 
http://www.linuxforum.net ddxxkk (2001-04-20 18:30:30) 
porftpd是一个配置方法与APACHE相类似的FTP服务器,有两种运行方 
式,独立服务器与超级服务器的子服务器。无论从安全性还是稳定性还 
是可配置性来说都是非常好的选择。一般来说redhat上的wu-ftp的问题太多, 
为了安全起见用proftpd还好一些. 

1 取得 proftpd 
  http://www.proftpd.net是其公司网站上有大量资料,到 
  ftp://ftp.proftpd.net/pub/proftpd/或ftp://ftp.proftpd.org/ 
  可以下载最新的proftpd-1.2.0rc3.tar.gz 
2 安装 proftpd 
 2.1 进入linux系统解开文件 
   #tar proftpd-1.2.0rc3.tar.gz 
   #cd proftpd-1.2.0rc3 
 2.2 设定安装到/www/protpd目录中 
   #./configure --prefix=/www/proftpd 
   #make 
   #make install  
3 设定 
  3.1几个文件的功能及路径 
  /www/proftpd/sbin/proftpd  执行程序 
  /www/proftpd/etc/proftpd.conf  设置文件 
  /www/proftpd/var/proftpd.pid proftpd做为一个服务的ID号 
  3.2 设定proftpd.conf文件,起动服务 
     3.2.1 做为一个服务起动 
     在默认的"/www/proftpd/etc/proftpd.conf/"文件中有一行文字 
     "ServerType standalone",指定"/www/proftpd/sbin/proftpd"以 
     一个服务的方式来工作,可以放"/www/proftpd/sbin/proftpd"到 
     "/etc/rc.d/rc.local"文件中,以便开机起动. 
     3.2.2 放到inetd.conf中起动 
     也可以改变"ServerType standalone"为"ServerType inetd", 
     并修改"/etc/inetd.conf"中的 
      ftp stream tcp nowait root      /usr/sbin/in.ftpd in.ftpd 
      改变为 
      ftp stream tcp nowait root      /www/proftpd/sbin/proftpd proftpd 
      当然也可以改为 
      ftp stream tcp nowait root      /usr/sbin/tcpd /www/proftpd/sbin/proftpd 
    注意做为服务器设定可以直接执行 /www/proftpd/sbin/proftpd  起动服务 
    如果放在 inetd.conf文件中,就是修改完后 killall -HUP inetd 
  3.3 proftpd.con 的一个简单设定及说明(proftpd文件解压后,/doc目录内有proftpd.conf的说明) 
     #服务器的名称 
     ServerName                 "ProFTPD Default Installation" 
     #服务器的服务方法(系统服务/inetd连接) ServerType standalone/inetd  
     ServerType                 standalone 
     #默认服务 
     DefaultServer                      on 
     #服务器使用的port号码 
     Port                               21 
     #proftpd在做为服务时的用户名和组名 
     User                               nobody 
     Group                              ftp 
     #根目录设定,可以用/home也可用~,可以使用户不能向上到根目录下 
     DefaultRoot ~ 
     #目录的权力 
     〈Directory /*> 
      AllowOverwrite            on 
    〈/Directory> 
    #其本anonymous用户定义   
    〈Anonymous ~ftp> 
     User                               ftp 
     Group                              ftp 
     UserAlias                  anonymous ftp 
     MaxClients                 10 
     DisplayLogin                       welcome.msg 
     DisplayFirstChdir          .message 
     #注意最好加上以下这一行 
     RequireValidShell            no 
     #设定为只读 
     〈Limit WRITE> 
     DenyAll 
    〈/Limit> 
   〈/Anonymous> 
    
    
ddxxkk.yeah.net 
ddxxkk 
 
 

|
ProFtpd快速指南 
本文出自: 作者: (2001-10-20 09:05:00) 


    ProFTPD是一个Unix平台上或是类Unix平台上(如Linux, FreeBSD等)的FTP服务器程序, 
    它是在自由软件基金会的版权声明(GPL)下开发、发布的免费软件,也就是说任何人只要遵 
    守GPL版权声明,都可以随意修改源始码。   

    ProFTPD设计目标是实现一个安全且易于设定的FTP Server。目前Unix或类Unix平台上 
    FTP Server十分有限,最常使用的恐怕就是wu-ftpd了。虽然wu-ftpd有着极佳的效能同时也是 
    一套很好的软件,然而它却欠缺了许多Win32平台上FTP Server的一些特色,同时wu-ftpd过去 
    也有不少的安全漏洞陆续被发现。ProFTPD的原创者本身就曾经花非常多的时间寻找wu-ftpd 
    的漏洞加以改进并且增加许多功能。然而十分不幸的是,他很快地发现显然wu-ftpd需要全部 
    重新的改写才能补足欠缺的设定能力以及缺乏的一些功能。ProFTPD不是从其它FTP Server的 
    既有原始码修改而产生的,相反的,它是完全独立而完整、重新改写的FTP Server。   

   ProFTPD的主要包括如下特点:  

* 单一主设置文件,包含许多指令以及其支配的组,? 耆际侵惫鄣纳瓒āH绻魑欢訟 
pache Web Serve的设置不陌生的话相信一定会觉得十分容易操作设定。   

* 每个目录都可以定义一个".ftpaccess"设置文件,就如同Apache的".htaccess"文件一样可以设定 
该目录的存取权限。   

* 可设定多个虚拟FTP server,而匿名FTP服务更是十分容易。   

* 可根据系统的负载(load)选择以单独运作(stand-alone)方式或是由inetd启动。   

* 匿名FTP的根目录不需要特定的目录结构、系统二进制执行文件或其它系统文件。   

* ProFTPD不执行任何外部程序以免造成安全漏洞。   

* 具有隐藏目录或隐藏文件,源自于Unix形式的档案权限,或是user/group类型的档案权限设定。   

* 能够以一般使用者在单独运作(stand-alone)模式下执行,以减少某些藉由攻击方式取得root权的 
可能性。注:此功能与Unix的操作系统有关。  

* 支持系统记录以及utmp/wtmp。   
记录的方式与wu-ftpd的标准完全兼容,也支持记录内容的延伸格式。   

* 支持Shadow&! nbsp;password,包括了帐号使用期限设定的功能。  

编译和安装   
    Proftpd提供了多种安装格式,包括源代码方式、RPM方式、deb方式(debian软件包)等。本文 
    主要讨论源代码方式的安装。  

    从ftp.proftpd.net下载最新版本的proftpd-1.2.0rc3到Linux服务器上。然后按照如下步骤 
    进行处理:  

[root@ftpd /]# cp proftpd-1.2.0rc3.tar.gz /usr/src/  
[root@ftpd /]# cd /usr/src  
[root@ftpd src]# tar xvfz proftpd-1.2.0rc3.tar.gz  
[root@ftpd src]# cd proftpd-1.2.0rc3  
[root@pftd proftpd-1.2.0rc3]# ./configure  
[root@pftd proftpd-1.2.0rc3]# make  
[root@pftd proftpd-1.2.0rc3]# make install  

    到现在为止,你已经完成了proftpd的编译和安装。并且在/usr/local/etc/目录下有一个默 
    认的proftpd配置文件proftpd.conf。  

启动测试  

    对于笔者的试验系统RedHat6.2来说,需要将该配置文件中:  

    Group nogrou! p  

修改为:  

    Group nobody  

    因为redhat系统中nobody用户属于nobody组,而不是nogroup组。  

    若需要将proftpd设置为系统启动时自动启动则通过如下命令拷贝启动文件:  

    [root@ftpd proftpd-1.2.0rc3]# cp ./contrib/dist/rpm/proftpd.init.d /etc/rc.d  
/init.d/proftpd  

    然后修改该脚本的可执行属性:  

    [root@ftpd /]# chmod +x /etc/rc.d/init.d/proftpd  

    然后编辑/etc/rc.d/init.d/functions:  

    修改  

export PATH="/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin"  

    为  

export PATH="/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin"  

注:若将在运行./cofigure命令时通过--prefix选项指定将proftpd安装在/usr/sbin目! 录下 
则不需要修改fuctions文件。  

然后运行命令:  

     [root@ftpd rc3.d]# chkconfig --level 35 proftpd on  

则下次系统启动以后,proftpd将自动启动。  

    最后,需要确保系统当前没有ftp服务器在运行:  

    [root@ftpd /]# netstat -ln  

    若输出中不包含  

    tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN  

    这样的内容则可以直接启动proftpd,否则需要关闭以前的ftpd服务器。对于一般的缺省 
    Linux安装来说,则需要通过以下的途径来关闭ftp服务器:  

    编辑/etc/inetd.conf文件,在  

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a  

    一行前加上#:  

#ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a  

    然后:  

[root@ftpd ! /]# ps ax|grep inetd  
350 ? S 0:00 inetd   

    得到inetd的进程号 ,重新启动inetd进程:  

        [root@ftpd /]# kill -HUP 350     

    然后通过如下命令启动proftpd:  

    [root@ftpd /]# /etc/rc.d/init.d/proftpd start  

   这时候可以通过如下命令来测试proftpd是否正常运行:   

C:WINDOWS>ftp 192.168.2.33  
Connected to 192.168.2.33.  
220 ProFTPD 1.2.0rc3 Server (ProFTPD Default Installation)[ftpd.test.com.cn]  
User (192.168.2.33:(none)): ideal  
Password:  
230 User ideal logged in.  
ftp>  

则现在你就拥有了一个安全可靠的ftp服务器。  

FAQ  

1、我安装proftpd以后,出现了问题,我如何调试?  

通过通过命令! /usr/local/sbin/proftpd -d9 -n启动proftpd来进行调试,则proftp d就会将 
调试信息打印到consle上以供调试之用。  

2、为什么我的proftpf启动以后,匿名用户不能登录?  

        查看proftp配置文件/usr/local/etc/proftpd.conf,修改为 
        (这里/home/ftp可以是任何希望匿名用户登录以后的当前根目录, 
        但是确保要使该目录允许ftp用户访问),并且若部分的User指令 
        指定的用户为ftp用户,则需要在配置文件中添加如下命令指示:  

RequireValidShell off  

3、我如何实现一个正常用户登录以后将其的访问限定在某个目录之下?  

可以通过指令DefaultRoot来实现。例如若希望将ftpusers组的用户限定在自己的home目录下,则 
需要首先创建该组:  

/usr/sbin/groupadd ftpusers  

然后将用户ideal加入到该组中:  

usrmod -G ftpusers ideal  

最后在在proftpd.conf文件中添加如下内容:  

DefaultRoot ~ ftpusers  

也可以限制用户登录以后仅仅访问自己主目录下的一个子目录:  

Default! Root ~/anoftp ftpusers  

当然也可以将用户限制在其他目录之下,而不是自己的home目录下:  

DefaultRoot /tmp ftpusers  

也可以限定一个用户组的某些用户被限制,而其他不作限制:  

DefaultRoot ~ ftpusers,!empolyee  

这个指令指示仅仅限制ftpusers组中的不是empolyee组的用户进行限制。  

4、我如何使用户登陆时不显示ftp服务器版本信息,以增强安全性?  

在proftpd.conf中添加如下内容:  

ServerIdent off  

则再次登录时,显示如下内容:  

C:WINDOWS>ftp 192.168.2.33  
Connected to 192.168.2.33.  
220 ftpd.test.com.cn FTP server ready.  
User (192.168.2.33:(none)):  

5、在proftpd环境下如何设定虚拟主机?  

可以通过指令:VirtualHost来实现,一个最简单的例子:  

  
ServerName "virtual FTP server"  
  
若你仅仅希望通过匿名访问某个虚拟主机,则使用如下! 的指令:  

   

Serv erName "virtual FTP server"   

   
DenyAll   
   

   

User private  
Group private   

   
AllowAll   
  

   

  

这样192.168.2.35的这台主机则仅仅允许匿名登录。  

笔者的proftpd.conf配置文件内容为:  

# This is a basic ProFTPD configuration file (rename it to  
# 'proftpd.conf' for actual use. It establishes a single server  
# and a single anonymous login. It assumes that you have a user/group  
# "nobody" and "ftp" for normal operation and anon.  

ServerName &! quot;test.com.cn FTP Server"  
ServerType standalone  
DefaultServer on  

# Port 21 is the standard FTP port.  
Port 21  
# Umask 022 is a good standard umask to prevent new dirs and files  
# from being group and world writable.  
Umask 022  

# To prevent DoS attacks, set the maximum number of child processes  
# to 30. If you need to allow more than 30 concurrent connections  
# at once, simply increase this value. Note that this ONLY works  
# in standalone mode, in inetd mode you should use an inetd server  
# that allows you to&! nbsp;limit maximum number of processes per&nb sp;service  
# (such as xinetd)  
MaxInstances 30  


RequireValidShell off  
ServerIdent off  


# Set the user and group that the server normally runs at.  
User nobody  
Group nobody  

# Normally, we want files to be overwriteable.  
  
AllowOverwrite on  
  

# A basic anonymou

|
vsftp

    
 
 

您可能感兴趣的文章:

  • 建立一个省级运营商级别的DNS服务器用哪个版本的LINUX/unix比较好?
  • 怎样在linux下建立一个PPP服务器,并在另一台机子上通过pppd来建立连接呀?
  • 请问在linux中怎么来建立ftp和web服务器,怎么建立和windows的局域网
  • 用windows客户机登陆Linux服务器不能建立建立文件夹????[img=http://forum.csdn.net/PointForum/ui/scrip
  • 开发板上建立一个nfs服务器
  • 服务器8G内存,怎样建立swap分区?
  • 如何建立一个邮件服务器?
  • 开发板建立nfs服务器
  • 如何建立svn服务器呢?
  • 问一下,Solaris中建立的FTP服务,在服务器上有缓存吗?
  • solaris8下如何建立FTP服务器?
  • 服务器与客户端建立socket连接,如何获得端口号.谢谢
  • 数据库 iis7站长之家
  • 我想在Fedora 3上建立自己的(Qmail)邮件服务器.....
  • 请教大家linux下建立视频的服务器几个问题
  • linux 下怎么样建立FTP服务器?
  • 示助:Linux作服务器建立网络电台
  • RTSP协议,客户端想与服务器端建立一个握手机制,应该怎么做.
  • linux 的http服务器的建立
  • 建立的ftp服务器,在其他机器上不能访问,为何?
  • 100分求:服务器8G内存,怎样建立swap分区?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Redhat/Centos下rpmbuild命令从spec文件或者tar包建立rpm
  • 如何在Red Hat上建立FTP服务 并且建立FTP一个用户
  • 怎么建立.alias文件?在哪里建立这个文件?
  • 很多服务都吧监听同时建立在特定ip和广播ip上,但是使用ssh转发时,发现没法建转发建立在广播ip上
  • 只给一个目录路径,怎样再在其下建立一个新的目录(给定目录名),然后再在其下建立一个新的文件(给定文件名)?
  • unix下获得文件的建立时间
  • linux系统中建立一个用户专门用来修改系统时间怎么做?
  • 哪个DOS命令可以建立一个空文件?
  • 用户ID的建立
  • 建立用户的问题
  • 如何建立虚拟主机
  • 怎么样在 dos 系统下 批量的建立目录?
  • 请问如何建立“目录的快捷”档?
  • 如何建立批处理?
  • 新手:unix下建立文件的命令?
  • 在pxa255建立linux2.4的系统,需要哪些补丁啊?
  • Linux用什么命令建立一个.cpp文件?
  • 什么操作系统能建立文件名大于256的文件
  • centos如何建立wifi热点呢?
  • tar 在创建tar文件的号死后如何不建立目录层次?
  • php实现建立多层级目录的方法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3