Martin Koksrud Bekkelund

Martin Koksrud Bekkelund

Teknologi • Samfunn • Politikk

FTP-server på Raspberry Pi

08.11.23

Jeg har noe gammelt utstyr i bruk, jeg skal innrømme det. Utstyr som ikke støtter SFTP for overføring av filer, kun ukryptert FTP. Men å slippe slikt utstyr ut på internett er uaktuelt, derfor har jeg flere interne FTP-servere kjørende på Raspberry Pi. Siden jeg har gjort dette oppsettet noen ganger, tenkte jeg det kunne være nyttig å dele kunnskapen om hvordan man installerer og setter opp en FTP-server på Raspberry Pi OS som er basert på Debian.

Det finnes selvfølgelig en lang rekke programvare som du kan bruke, spørsmålet er hvilken man skal velge for dette formålet. Av alternativene jeg vurderte tittet jeg på Pure-FTPd, vsftpd og ProFTPD. Av disse har jeg brukt Pure-FTPd gjentatte ganger. Den er enkel å sette opp og fungerer fint når bruksområdet er begrenset. Ellers er vsftpd et godt valg hvis ytelse og skalering er viktig, eller ProFTPD hvis mange funksjoner og fleksibilitet er viktig.

Installasjon

Åpne et terminalvindu, et shell, og start ved å skrive:

sudo apt-get install pure-ftpd

Konfigurasjon

Først oppretter vi en gruppe som én eller flere FTP-brukere skal tilhøre.

sudo groupadd ftpgroup

Så legger vi til en bruker i gruppen, der -g ftpgroup angir gruppen, -s /sbin/nologin angir hvilket shell brukeren får tilgang til, som i dette tilfellet sier at bruker ikke skal ha shell-tilgang, og -d /dev/null som angir at brukeren ikke skal ha opprettet en personlig mappe. Ønsker du å forstå mulighetene i kommandoen useradd kan du lese manualen.

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

Så skal vi ha en mappe der man kan lese og skrive filer via FTP. Kommandoen under forutsetter at din bruker på Raspberry Pi heter pi.

sudo mkdir /home/pi/FTP

Dernest skal brukeren ftpbruker i gruppen ftpgroup ha tilgang til mappen /home/pi/FTP.

sudo chown -R ftpuser:ftpgroup /home/pi/FTP

Nå skal vi opprette en virtuell bruker kalt upload og koble denne til ftpuser og ftpgroup, sette standardmappen til /home/pi/FTP og lagre passordet i brukerdatabasen.

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

Du blir nå bedt om å opprette et passord til brukeren upload.

Så skal brukerdatabasen opprettes.

sudo pure-pw mkdb

Så skal vi angi at autentiseringsmetoden skal være internt for FTP fremfor den innebygde i Linux.

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

Når oppsett er ferdig restarter vi FTP-serveren.

sudo service pure-ftpd restart

Så kan du angi at FTP-serveren alltid skal kjøre etter omstart.

sudo systemctl enable pure-ftpd

Nå kan du teste tilkobling med en FTP-klient med brukernavnet upload og passordet du oppga. Tilkoblingen skal være FTP på port 21 og ikke SFTP.

Hva nå?

Herfra og videre finnes det en lang rekke innstillinger som kan gjøres basert på dine behov. Kanskje skal (og bør) du sikre serveren til SFTP. Les manualen og gjør nødvendig oppsett.

Hvor nyttig er denne artikkelen for deg?

Hva kan bli bedre?

Jeg blir veldig glad hvis du legger igjen noen stikkord om hva du tenker!

Programvare

Som leser kan du gi et bidrag til produksjonen, til driften og til å skaffe utstyr til testing for å sikre regelmessige, uavhengige artikler, tester og vurderinger av høy kvalitet.

Gi et bidrag

Husk å abonnere på nyhetsbrevet, det er gratis og du får alle artikler rett i innboksen.

 

Nyeste artikler

Enda flere artikler? Besøk arkivet.

Om Martin

Martin Koksrud Bekkelund

Dette er Martin Koksrud Bekkelund sitt private nettsted, hvor han skriver om forbrukerteknologi, teknologiledelse og hvordan teknologi, samfunn og politikk påvirker hverandre. Martin er innehaver av konsulentselskapet Nivlheim. Les mer...

 

Mastodon Facebook LinkedIn Thingiverse GitHub Ko-Fi PayPal

© 1995-2024 Martin Koksrud Bekkelund
OpphavsrettRSS og abonnementKontaktPersonvern og informasjonskapsler