Installer glftpd 29

Skrevet af: Patrick Kerwood

Glftpd er et super fedt stykke FTP software. Med glftpd får du virtuelle brugere, du kan se hvor meget de har downloaded/uploaded, hastighed på igangværende downloads, download speed limit og meget meget mere.

 

Video guide i bunden af indlægget.

Installation part 1.

Start med installer dependencies.
sudo apt-get install zip unzip xinetd openssl

Gå til http://glftpd.eu/ og download den nyeste stable version.
wget http://glftpd.eu/files/glftpd-LNX-2.04.3_1.0.1e-2+deb7u12_x64.tgz

Pak den ud.
tar -zxvf glftpd-LNX-2.04.3_1.0.1e-2+deb7u12_x64.tgz

Kør install scriptet.
sudo ./glftpd-LNX-2.04.3_1.0.1e-2+deb7u12_x64/installgl.sh

Tcpd er så du kan styre hvem der skal skal have adgang til glftpd, via hosts.allow og hosts.deny. Som der står, hvis du ikke ved hvad det er, skal du ikke bruge det.
1. TCPD SETUP:
--------------

Do you wish to use tcpd? If you are not sure then you should not
use it. If you decided to change this at a later time, please
search for tcpd in glftpd.docs for the required changes.

Use tcpd? [Y]es [N]o: n

Jailed environment er at glftpd og alle tilhørende filer ligge i en mappe som kun root har adgang til. På den måde kan man holde andre shell brugere ude. Hvis du vælger jailed, vil dine glftpd.conf fil ligge i /jail/glftpd istedet for /etc. Der er aldrig andre end mig på mine servere, så jeg finder det ikke nødvendigt.
2. JAIL SETUP:
--------------

Do you want to run glftpd in a "Jailed" environment?  In this
environment a private directory will be created and glftpd will
be installed inside.  Regular shell users will not be able to get
inside this private directory.  The glftpd.conf is also moved
inside for added security and a new group will be created so
you and other users you specify can access glftpd through the shell.

Use a jailed environment? [Y]es [N]o: n

Tryk enter for /glftpd eller skriv en anden sti.
3. GLFTPD BASE SETUP:
---------------------

Please enter the directory to install glftpd to [/glftpd]: <enter>

Tryk enter.
4. SERVICE SETUP & MULTI-INSTALL:
---------------------------------

Enter a service name for glftpd. This name will be used as the
service name mapped to the port in /etc/services, the name
used in your (x)inetd settings, and the name of your config-file.
NOTE: If you (wish to) have multiple instances of glftpd on the
same box, you *must* to change this.
Press <enter> for the default (glftpd)>: <enter>

Skriv den port du ønsker at bruge til din ftp service.
6. PORT AND SYSTEM SETUP:
-------------------------

Enter the port you would like glftpd to listen on [1337]: 55678

Tryk “Y” for yes.
Do you wish to use European weeks? European weeks starts with a Monday.
This is for glftpd's 'reset' binary (see docs for more info) [Y/N]: y

Tryk enter.
7. SSL/TLS SETUP:
-----------------

We will now create a certificate for SSL/TLS support. This step is
required.


Please specify location, inside /glftpd,
to install the cert (ftpd-dsa.pem) [/etc]: <enter>

Angiv et navn til SSL certifikatet, eller tryk enter for glftpd.
Please specify a generic name for this certificate.
This can be any name but should say something about the ftp server
like the name for it perhaps (press enter for glftpd): <enter>

Tryk enter.
-> IMPORTANT !!!!
-> If you get TLS errors of any kind, read instructions in README.TLS
-> included in this package!

Press <ENTER> to continue

Tryk enter.
8. STARTING GLFTPD:
-------------------

Copying /etc/resolv.conf to /glftpd/etc/resolv.conf . . . Done.
Testing entries in resolv.conf (can take time):
   Testing 192.168.1.1 . . . OK.
Configuring xinetd for glftpd . . . Done.
Restarting xinetd . . . Success.

Adding crontab entry to tabulate site stats nightly . . . Done.

chmod'ing the site/ dir . . . Done.

Press <ENTER> to continue.

Done and done..
9. FINISH:
----------

Congratulations, glFtpD has been installed. Scroll up and note any errors
that needs fixing. ./installgl.debug contains a log of the installation process.

Det var selve installationen af glftpd.

Installation part 2.

Jeg plejer at ændre nogle af indstillingerne for min standard bruger. Altså de indstillinger en bruger får som standard, når du opretter dem.

Åben default.user sudo nano /glftpd/ftp-data/users/default.user

Nogle linjer nede finder du nedenstående linje.
LOGINS 2 0 -1 -1

Ændre to tallet, til noget højere for at ændre antallet af tilladte samtidige logins/forbindelser. Jeg plejer at ændre det til 10.
LOGINS 10 0 -1 -1

Det næste jeg ændre er RATIO. Fra standard er den sat til 3. Ændre det til 0 for at deaktivere ratio. Hvis du ikke ved hvad ratio er, deaktiver det.
RATIO 0

Gem og luk.

For at fortsætte med installation, skal du bruge en ftp klient på serveren. Du kan bruge hvilken som helst. Jeg foretrækker lftp.
sudo apt-get install lftp

Forbind til glftpd med bruger glftpd og password glftpd, på din valgte port. Dette kan kun gøres fra serveren da glftpd brugeren er låst til forbindelser fra 127.0.0.1.
lftp -u glftpd localhost -p 55678

Hvis du får Fatal error: Certificate verification: Not trusted fejlen, så kør nedenstående kommando i lftp.
set ssl:verify-certificate no

Opret din egen bruger i glftpd. Når du tilføjer brugere kan du specificere hvilken IP brugeren skal kunne forbinde fra. Med nedenstående kommando kan brugeren forbinde fra alle IP’er.
Brug fx. *@10.0.0.2 for at begrænse brugeren til den IP. En bruger kan have op til 10 IP adresser.
site adduser kerwood k0de0rd *@*

Giv din bruger siteop permissions.
site change kerwood flags +1

Nu skal glftpd brugeren slettes. Men dette kan ikke gøres selvom man har siteop permissions. Ens bruger skal sættes til master i glftpd.conf filen. Imens vi er der, er der også nogle andre ting vi lige skal have lavet om.

Luk lftp og åben glftpd.conf med en editor.
sudo nano /etc/glftpd.conf

Tilføj nedenstående linje med dit brugernavn.
master kerwood

Ændre evt. sitename_long, sitename_short og email til noget andet.

En ting jeg plejer at ændre, er næsten nede i bunden. Linjen ser således ud.
-users     H

Tilføj et ét tal efter H’et, for gøre kommandoen tilgengængelig for siteops.
-users     H 1

Brugeren glftpd skal nu slettes. Log ind på serveren igen, med din egen master bruger og slet glftpd.
site deluser glftpd

I glftpd kan man re-add en bruger igen efter man har slettet den. På den måde kan man nemt “deaktivere” og “aktivere” brugere. For at slette den helt skal man purge den.
site purge glftpd

Glftpd er nu sat op og er klar til brug.

Dette blog indlæg blev lidt længere end forventet, men jeg fik da det hele med.
Hvis du kender Arch Linux ved du at deres community har jorden bedste Wiki. Hvis ikke, så ved du det nu. Jeg vil anbefale at tjekke deres glftpd wiki ud, da den er super detaljeret og har mange gode eksempler og forklaringer.

https://wiki.archlinux.org/index.php/glftpd

SSL/TLS

For at bruger SSL/TLS skal du i glftpd.conf filen, ændre nedenstående linjer.

Her sætter du om en bruger er tvunget til at bruge SSL/TLS eller om det er valgfrit. Jeg plejer at force det, så man ikke kan connect uden. Slet udråbs tegnene foran asterisksne for at enforce linjen. Du kan selvfølgelig stadig bruge SSL/TLS selvom udråbs tegnet er der.

# TLS enforcements.
userrejectsecure        !*
userrejectinsecure      *
denydiruncrypted        *
denydatauncrypted       *

*Bemærk* – I skrivende stund kan du ikke bruge FileZilla fra Ubuntu repositories, til at forbinde med via SSL. Det samme gælder for lftp. Der er noget SSL vrøvl. Du kan dog hente den nyeste version fra deres site og bruge den. Hvis du vil teste med en CLI kan du bruge ftp-ssl, som du finder i dine repositories.

ftp-ssl localhost 55678

For at forbinde med SSL, fra FileZilla, skal du bruge explicit FTP over TLS, se nedenstående billede.

Passiv Ports

Hvis din server er bag en firewall/router skal du sætte passiv ports op, for at kunne forbinde ude fra.
Tilføj nedenstående til din glftpd.conf fil. Ændre AAA.BBB.CCC.DDD til din eksterne IP. Husk ét tallet efter IP adressen, det er meget vigtigt.

Anden linje er den port range den skal bruge.
pasv_addr AAA.BBB.CCC.DDD 1
pasv_ports 5000-5500

Diverse kommandoer

Nedenstående er en håndfuld brugbare kommandoer. Brug site help for at få en komplet liste over alle kommandoer.

 
Liste over users.

 
Information på specifik bruger.

 
Liste over online brugere og download speed.

 
Weekly top downloaders.

 
Trafik statistik

Video Guide


1 aug 2014   | Alle · Fildeling · Programmer · Video Guide

29 thoughts on “Installer glftpd

  1. Reply Thomas nov 23,2014 12:28

    Hey

    Super lækkert guide du har lavet der det kan ikke blive nemmer.

    Men ved du hvordan man laver en irc bot som vis hvad der kommer på ftp´en samt man kan bruge alle de site commander som site users osv med botten os ?

    //Thomas

  2. Reply vindelbo jul 30,2015 19:57

    Formentlig et ret dumt spørgsmål men hvordan tilføjer man andre directorys til glftpd altså f.eks /home/username/myfolder ?

    • Reply Patrick Kerwood jul 30,2015 20:06

      Det kan du ikke. Dine delte mapper skal være i /glftpd/site

      Med det sagt, tror jeg du kan bind mount en mappe, som så.

      Lav først en mappe i /glftpd/site
      mkdir /glftpd/site/myfolder

      Bind mount mappen.
      sudo mount -o bind /home/username/myfolder /glftpd/site/myfolder

      Prøv det og se om ikke det virker.

  3. Reply vindelbo jul 30,2015 20:09

    Patrick Kerwood
    Du er squ for vild, og crazy hurtig support.. Det virkede selvfølgelig!!

  4. Reply Thomas aug 1,2015 01:05

    Du skulle vel ikke vide hvordan man får updater ssl til glftpd

    (glFTPd 2.05.1 (Jan 11 2015) 64BiT Linux+TLS(OpenSSL 1.0.1e 11 Feb 2013 – built on: Thu Jan 8 21:10:20 UTC 2015)+S SP) ready.

    • Reply Patrick Kerwood aug 1,2015 07:50

      Jeg ved ikke helt hvad du mener. gFTPd bruger i forvejen et self signed certificate. Vil du bruge et andet certifikat ?

  5. Reply Thomas aug 1,2015 21:56

    hvor får den så det OpenSSL 1.0.1e fra for jeg har updatet min OpenSSL på min server

  6. Reply Thomas aug 1,2015 22:05

    hmm okay :)

  7. Reply Thomas aug 11,2015 23:23

    6. PORT AND SYSTEM SETUP:
    ————————-

    Enter the port you would like glftpd to listen on [1337]: 55678

    Er det muligt at ændre port efter man har lavet en install af glftpd ?

  8. Reply Thomas aug 14,2015 20:15

    super jeg takker

  9. Reply Leo maj 1,2016 17:04

    Hej , jeg bruger en oversætter . Håber du forstår mig alligevel . Jeg har en Debia 8.4 version. For så vidt angår instalation virker fint , men når jeg ønsker at oprette en ny bruger , altid kommer meddelelsen: Fatal Error : Certificate verifikation: Ikke tillid
    Håber det kan hjælpe dig som mig . Tak.

    • Reply Patrick Kerwood maj 1,2016 20:42

      Hi Leo.. English is fine :)..
      You have to be a bit more specific. How and when exactly do you get the error. Which ftp client are you using?..

      Im guessing its because the client will not accept the self signed certificate. If you are using lftp as in my example, try this command in lftp before connecting.
      set ssl:verify-certificate no

  10. Reply Leo maj 1,2016 21:00

    Thank you for your quick response. Try it once in English, or can someone German? Hihi first I had the problem that my server glftpd website did not download because the page would not be trustworthy. A trick it worked. It happens when I enter the command site adduser. No matter what I type it always comes this error message. I then ssl off, then it went. My problem is that I use server-to-server it is no longer so. My second problem, now I take 2 tb 20 gig. I hope you understand what I mean.

Leave a Reply