Raspberrypi FTP server

om gemakkelijk bestanden over te brengen naar je raspberrypi kan je gebruik maken van ftp. Hiervoor gaan we pure-ftpd gebruiken wat je toelaat om ‘virtuele’ gebruikers toe te voegen en te verwijderen.

Pureftpd instaleren

pure-ftpd kan eenvoudig geïnstalleerd worden met

sudo apt-get install pure-ftpd

Dan moet je nog de ftpgroup gebruikersgroep en ftpuser gebruiker aanmaken. Deze gebruiker mag niet kunnen inloggen.

sudo groupadd ftpgroup sudo useradd ftpuser -g ftpgroup -s /sbin/nologin -d /dev/null

FTP map en virtuele gebruiker instellen.

om een FTP map aan te maken gebruik je als root (sudo)

mkdir /FTP sudo chown -R ftpuser:ftpgroup /FTP

om een gebruiker aan te maken bv ‘upload’ kan je

sudo pure-pw useradd upload -u ftpuser -g ftpgroup -d /FTP -m

gebruiken. Je zal wel nog een password moeten instellen. Als je een andere gebruiker wilt toevoegen, verander je gewoon ‘upload’ naar de gewenste gebruikersnaam. Als dat gedaan is, moet je een virtuele gebruikersdatabase aanmaken. Dit zal je telkens je een gebruiker maakt/verwijderd moeten doen.

sudo pure-pw mkdb

Er moet ook nog een auth-methode worden gezet

sudo ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/60puredb

Nu kan je pure-ftpd herstarten met

sudo service pure-ftpd restart

Test het met een programma zoals filezilla

Extra instellingen

Er zijn een heleboel extra instellingen die je kan aanpassen:

sudo nano /etc/pure-ftpd/conf/ChrootEveryone

en zet er ‘yes’. (en dan ctrl+X, y en enter om op te slaan). Verander ‘ChrootEveryone’ met het volgende en zet er de overeenkomende waarden er in

in ‘NoAnonymous’ zet je ‘yes’ in ‘AnonymousCantUpload’ zet je ‘yes’ in ‘AnonymousCanCreateDirs’ zet je ‘no’ in ‘DisplayDotFiles’ zet je ‘no’ in ‘DontResolve’ zet je ‘yes’ in ‘ProhibitDotFilesRead’ zet je ‘yes’ in ‘ProhibitDotFilesWrite’ zet je ‘yes’ in ‘FSCharset’ zet je ‘UTF-8’

Als je het nu herstart en inlogt met de ‘upload’ gebruiker kan je bestanden overzetten, als je inlogt met de ‘pi’ gebruiker kan je in de home-map van de pi user.

sudo service pure-ftpd restart