首页 运维 正文
Uuntu下利用Poftpd构架Ftp服务器

 2022-10-23    414  

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

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

Uuntu下利用Poftpd构架Ftp服务器

  Code:

  sudoapt-getinstallproftpd 
  •   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:

      sudouseradduserftp-pyour_password-d/home/FTP-shared-s/bin/false 
  •   在FTP-shared 目录下新建一个download和一个upload 目录:

      Code:

      cd/home/FTP-shared/ 
  •   sudomkdirdownload
  •   sudomkdirupload
  •   现在我们来给它们设置相应的权限:

      Code:

      cd/home 
  •   sudochmod755FTP-shared
  •   cdFTP-shared
  •   sudochmod755download
  •   sudochmod777upload
  •   3- 好了,现在进入proftpd的配置文件:

      Code:

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

      Code:

      #Toreallyapplychangesreloadproftpdaftermodifications. 
  •   AllowOverwriteon
  •   AuthAliasOnlyon
  •   #Chooseheretheuseraliasyouwant!!!!
  •   UserAliassauronuserftp
  •   ServerName"ChezFrodon"
  •   ServerTypestandalone
  •   DeferWelcomeon
  •   MultilineRFC2228on
  •   DefaultServeron
  •   ShowSymlinksoff
  •   TimeoutNoTransfer600
  •   TimeoutStalled100
  •   TimeoutIdle2200
  •   DisplayFirstChdir.message
  •   ListOptions"-l"
  •   RequireValidShelloff
  •   TimeoutLogin20
  •   RootLoginoff
  •   #It'sbetterfordebugtocreatelogfiles;-)
  •   ExtendedLog/var/log/ftp.log
  •   TransferLog/var/log/xferlog
  •   SystemLog/var/log/syslog.log
  •   #DenyFilter\*.*/
  •   #Idon'tchoosetouse/etc/ftpusersfile(setinsidetheusersyouwanttoban,notusefulforme)
  •   UseFtpUsersoff
  •   #Allowtorestartadownload
  •   AllowStoreRestarton
  •   #Port21isthestandardFTPport,sodon'tuseitforsecurityreasons(chooseheretheportyouwant)
  •   Port1980
  •   #TopreventDoSattacks,setthemaximumnumberofchildprocesses
  •   #to30.Ifyouneedtoallowmorethan30concurrentconnections
  •   #atonce,simplyincreasethisvalue.NotethatthisONLYworks
  •   #instandalonemode,ininetdmodeyoushoulduseaninetdserver
  •   #thatallowsyoutolimitmaximumnumberofprocessesperservice
  •   #(suchasxinetd)
  •   MaxInstances8
  •   #Settheuserandgroupthattheservernormallyrunsat.
  •   Usernobody
  •   Groupnogroup
  •   #Umask022isagoodstandardumasktopreventnewfilesanddirs
  •   #(secondparm)frombeinggroupandworldwritable.
  •   Umask022022
  •   PersistentPasswdoff
  •   MaxClients8
  •   MaxClientsPerHost8
  •   MaxClientsPerUser8
  •   MaxHostsPerUser8
  •   #Displayamessageafterasuccessfullogin
  •   AccessGrantMsg"welcome!!!"
  •   #Thismessageisdisplayedforeachaccessgoodornot
  •   ServerIdenton"you'reathome"
  •   #Set/home/FTP-shareddirectoryashomedirectory
  •   DefaultRoot/home/FTP-shared
  •   #Lockalltheusersinhomedirectory,*****reallyimportant*****
  •   DefaultRoot~
  •   MaxLoginAttempts5
  •   #VALIDLOGINS
  •   AllowUseruserftp
  •   DenyALL  
  •   Umask022022
  •   AllowOverwriteoff  
  •   DenyAll  
  •   Umask022022
  •   AllowOverwriteoff  
  •   DenyAll  
  •   /home/FTP-shared/upload/>
  •   Umask022022
  •   AllowOverwriteon  
  •   DenyAll  
  •   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服务器就结束了。希望对大家有所帮助。

    原文链接:https://77isp.com/post/8632.html

    =========================================

    https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。