Installer glftpd 28

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

28 thoughts on “Installer glftpd

  1. Reply Leo maj 2,2016 20:07

    Hello Patrick,
    No, I have not tested it today. I make per step a pic. then send it via e-mail, that would be possible?

  2. Reply Fnatic nov 20,2016 21:58

    Hey Patrick

    jeg har et kæmpe problem jeg kan ikke få kontakt via ftprush til min glftpd server

    fejlen er 530 tls subsystem failed. check ftp-data/logs/error.log

    har søgt nettet tynd men syntes ikke jeg kan finde noget som virker

    //Fnatic

    • Reply Patrick Kerwood nov 21,2016 12:26

      Hmm.. hvad står der i ftp-data/logs/error.log ?

      Det ligner et problem med SSL/TLS. Har du prøvet andre FTP clienter end FTP Rush ?

    • Reply Fnatic nov 21,2016 12:46

      Ja har prøvet med filezilla og cuteftp den skriver bare det samme

      Men hvis jeg tester den online via ftp så logger den fint på men så snart det er via clint så vil den ikke

    • Reply Patrick Kerwood nov 21,2016 13:37

      Jeg går ud fra det er så snart du bruger SSL ?

      Hvad står der i log filen ?

  3. Reply Fnatic nov 21,2016 15:08

    Ja der er noget der driller i den SSL kan det hjælpe hvis jeg laver et nyt cert til ssl på en måde

    Der står bare connection refused error så er total på bar bund

    Lige et spørgsmål mere hvordan laver jeg et nyt cert… skal jeg slette Glftpd forfra måske ?

    • Reply Patrick Kerwood nov 21,2016 17:01

      Nej du burde godt kunne gøre uden at geninstaller. Men du må du google dig frem til.

      Tror måske du skal bruge create_server_key.sh

  4. Reply Fnatic nov 21,2016 23:33

    du har måske ikke mod på og logge ind på min server og se hvad fejlen kan være ?

    • Reply Patrick Kerwood nov 22,2016 07:38

      Jeg har simpelthen ikke tiden i øjeblikket, desværre. Jeg har en del bolde i luften.

      Men google er din ven ;)

Leave a Reply