Uuntu下利用Poftpd构架Ftp服务器

运维 系统运维
Uuntu下利用Poftpd构架Ftp服务器:ProFTPD是一个Unix平台上或是类Unix平台上的FTP服务器程序任何人只要遵守GPL版权声明,都可以随意修改源始码。本文讲述的就是Uuntu下利用Poftpd构架Ftp服务器。

  Uuntu下利用Poftpd构架Ftp服务器:这篇文章针对那些希望利用ftp协议和朋友们共享文件的人们,就像windows下的FTPserU,我提供的方式不是唯一的,希望我的方法足够清晰.这个FTPserver只允许拥有正确密码的人使用,所以你要明白只有已知的用户才能读取你的FTP服务。

  1- 使用下面的命令安装proftpd:

  Code:

  1.   sudo apt-get install proftpd  
  2.  

  2- 在etc/shells 加入如下代码 (sudo gedit /etc/shells to open the file)(译注:命令行模式下sudo vi /etc/shells) :

  Code:

  /bin/false

  新建一个 /home/FTP-shared 目录 :

  Code:

  cd /home

  sudo mkdir FTP-shared

#p#

  创建一个只能用来读取ftp的用户userftp. 这个用户不需要有效的shell(更安全) ,所以选择 /bin/false shell 给 userftp , /home/FTP-shared 作为主目录.

  为了是这部分更清楚,我给取此操作的命令行:

  Code:

  1.   sudo useradd userftp -p your_password -d /home/FTP-shared -s /bin/false  
  2.  

  在FTP-shared 目录下新建一个download和一个upload 目录:

  Code:

  1.   cd /home/FTP-shared/  
  2.  
  3.   sudo mkdir download  
  4.  
  5.   sudo mkdir upload  
  6.  

  现在我们来给它们设置相应的权限:

  Code:

  1.   cd /home  
  2.  
  3.   sudo chmod 755 FTP-shared  
  4.  
  5.   cd FTP-shared  
  6.  
  7.   sudo chmod 755 download  
  8.  
  9.   sudo chmod 777 upload  
  10.  

  3- 好了,现在进入proftpd的配置文件:

  Code:

  1.   sudo gedit /etc/proftpd.conf  
  2.  

  当然你可以按你的需要编辑你自己的proftpd.conf:

  Code:

  1.   # To really apply changes reload proftpd after modifications.  
  2.  
  3.   AllowOverwrite on  
  4.  
  5.   AuthAliasOnly on  
  6.  
  7.   # Choose here the user alias you want !!!!  
  8.  
  9.   UserAlias sauron userftp  
  10.  
  11.   ServerName "ChezFrodon"  
  12.  
  13.   ServerType standalone  
  14.  
  15.   DeferWelcome on  
  16.  
  17.   MultilineRFC2228 on  
  18.  
  19.   DefaultServer on  
  20.  
  21.   ShowSymlinks off  
  22.  
  23.   TimeoutNoTransfer 600  
  24.  
  25.   TimeoutStalled 100  
  26.  
  27.   TimeoutIdle 2200  
  28.  
  29.   DisplayFirstChdir .message  
  30.  
  31.   ListOptions "-l"  
  32.  
  33.   RequireValidShell off  
  34.  
  35.   TimeoutLogin 20  
  36.  
  37.   RootLogin off  
  38.  
  39.   # It's better for debug to create log files ;-)  
  40.  
  41.   ExtendedLog /var/log/ftp.log  
  42.  
  43.   TransferLog /var/log/xferlog  
  44.  
  45.   SystemLog /var/log/syslog.log  
  46.  
  47.   #DenyFilter \*.*/  
  48.  
  49.   # I don't choose to use /etc/ftpusers file (set inside the users you want to ban, not useful for me)  
  50.  
  51.   UseFtpUsers off  
  52.  
  53.   # Allow to restart a download  
  54.  
  55.   AllowStoreRestart on  
  56.  
  57.   # Port 21 is the standard FTP port, so don't use it for security reasons (choose here the port you want)  
  58.  
  59.   Port 1980  
  60.  
  61.   # To prevent DoS attacks, set the maximum number of child processes  
  62.  
  63.   # to 30. If you need to allow more than 30 concurrent connections  
  64.  
  65.   # at once, simply increase this value. Note that this ONLY works  
  66.  
  67.   # in standalone mode, in inetd mode you should use an inetd server  
  68.  
  69.   # that allows you to limit maximum number of processes per service  
  70.  
  71.   # (such as xinetd)  
  72.  
  73.   MaxInstances 8  
  74.  
  75.   # Set the user and group that the server normally runs at.  
  76.  
  77.   User nobody  
  78.  
  79.   Group nogroup  
  80.  
  81.   # Umask 022 is a good standard umask to prevent new files and dirs  
  82.  
  83.   # (second parm) from being group and world writable.  
  84.  
  85.   Umask 022 022  
  86.  
  87.   PersistentPasswd off  
  88.  
  89.   MaxClients 8  
  90.  
  91.   MaxClientsPerHost 8  
  92.  
  93.   MaxClientsPerUser 8  
  94.  
  95.   MaxHostsPerUser 8  
  96.  
  97.   # Display a message after a successful login  
  98.  
  99.   AccessGrantMsg "welcome !!!"  
  100.  
  101.   # This message is displayed for each access good or not  
  102.  
  103.   ServerIdent on "you're at home"  
  104.  
  105.   # Set /home/FTP-shared directory as home directory  
  106.  
  107.   DefaultRoot /home/FTP-shared  
  108.  
  109.   # Lock all the users in home directory, ***** really important *****  
  110.  
  111.   DefaultRoot ~  
  112.  
  113.   MaxLoginAttempts 5  
  114.  
  115.   #VALID LOGINS  
  116.  
  117.   AllowUser userftp  
  118.  
  119.   DenyALL    
  120.  
  121.   Umask 022 022  
  122.  
  123.   AllowOverwrite off    
  124.  
  125.   DenyAll    
  126.  
  127.   Umask 022 022  
  128.  
  129.   AllowOverwrite off    
  130.  
  131.   DenyAll    
  132.  
  133.    /home/FTP-shared/upload/> 
  134.  
  135.   Umask 022 022  
  136.  
  137.   AllowOverwrite on    
  138.  
  139.   DenyAll    
  140.  
  141.   AllowAll 

  好了,你已经完成了proftpd的配置,你的服务端口是1980,而读取的参数如下,用户:sauron,密码:你为userftp设置的那个.

#p#

  4- 启动/停止/重启动你的服务:

  Code:

  sudo /etc/init.d/proftpd start

  sudo /etc/init.d/proftpd stop

  sudo /etc/init.d/proftpd restart

  对你的proftpd进行一下语法检查:

  Code:

  sudo proftpd -td5

  如果想知道谁现在连接到你的服务,用ftptop命令(使用字母"t"来转换显示频率),你也可以使用"ftpwho"命令。到此为止Uuntu下利用Poftpd构架Ftp服务器就结束了。希望对大家有所帮助。

【编辑推荐】

责任编辑:zhaolei 来源: CSDN
相关推荐

2011-02-25 15:38:58

2011-02-23 10:18:51

CentosProFTPD

2009-12-08 12:23:15

UbuntuFTP服务器

2021-09-16 07:52:18

FTP服务器Linux

2011-03-07 17:04:02

ProftpdFTP

2009-11-16 13:17:20

SRP服务LinuxFTP服务器

2011-10-21 07:55:28

2019-02-26 16:20:52

FTP服务器

2009-02-27 13:22:00

2010-07-01 12:22:40

ftp命令FTP协议

2017-03-17 14:05:48

LinuxUbuntuFTP服务器

2011-02-25 16:34:01

LinuxProftpdFTP

2009-11-16 13:11:21

2010-07-01 17:13:53

2010-07-01 13:09:46

FTP服务器

2011-03-04 10:03:44

VSFTPD虚拟服务器

2011-02-23 15:32:39

vsftpd

2011-03-07 13:36:16

2011-02-25 15:50:49

2011-02-25 16:14:09

proftpdftp
点赞
收藏

51CTO技术栈公众号