„Linux“

Kaip nustatyti „Raspberry Pi“ FTP serverį su „Vsftpd“

Kaip nustatyti „Raspberry Pi“ FTP serverį su „Vsftpd“

Šioje pamokoje paaiškinta, kaip įdiegti ir konfigūruoti „Raspberry Pi“ FTP serverį, kurį naudojate dalydamiesi failais tarp savo įrenginių. Mes naudosime „vsftpd“, kuris yra stabilus, saugus ir greitas FTP serveris. Mes taip pat parodysime, kaip sukonfigūruoti „vsftpd“, kad vartotojai būtų apriboti savo namų katalogu ir užšifruotų visą perdavimą SSL / TLS.

Šiame projekte jūs turite turėti „Raspbian Pi“ įdiegtą . Norint paleisti FTP serverį, nereikia grafinės sąsajos, todėl rekomenduojame naudoti „Raspbian Lite“ vaizdą ir įgalinti SSH .

„Vsftpd“ diegimas „Raspberry Pi“ #

„Vsftpd“ paketą galima įsigyti standartinėse „Raspbian“ saugyklose. Norėdami jį įdiegti, vykdykite šias komandas:

sudo apt atnaujinimassudo apt install vsftpd

FTP paslauga bus automatiškai paleista baigus diegimo procesą. Norėdami tai patikrinti, atsispausdinkite paslaugos būseną:

sudo systemctl status vsftpd

Išvestis atrodys panašiai kaip žemiau, rodant, kad „vsftpd“ paslauga yra aktyvi ir veikia:

● vsftpd.tarnyba - vsftpd FTP serveris Įkelta: pakrauta (/ lib / systemd / system / vsftpd.aptarnavimas; įjungtas; išankstinis pardavėjo nustatymas: įjungtas) Aktyvus: aktyvus (veikia) nuo 2020-10-21, trečiadienio 19:00:41 BST; Prieš 9s .. 

Konfigūruojamas vsftpd #

„Vsftpd“ serverį galima sukonfigūruoti redaguojant / etc / vsftpd.konf failą.

Dauguma nustatymų yra gerai dokumentuoti konfigūracijos faile. Norėdami sužinoti apie visas galimas parinktis, apsilankykite oficialiame „vsftpd“ puslapyje.

Pradėkite atidarydami vsftpd konfigūracijos failą:

sudo nano / etc / vsftpd.konf

1. FTP prieigos Nr

Norėdami užtikrinti, kad tik vietiniai vartotojai galėtų pasiekti FTP serverį, ieškokite anonimas_įgalinamas ir local_enable direktyvas ir patikrinkite, ar jūsų konfigūracija atitinka toliau pateiktas eilutes:

/ etc / vsftpd.konf
anonymous_enable = NE local_enable = TAIP 

2. Įgalinamas įkėlimas #

Suraskite ir atžymėkite rašyti_įgalinti direktyvą, leidžiančią keisti failų sistemą, pavyzdžiui, įkelti ir pašalinti failus.

/ etc / vsftpd.konf
write_enable = TAIP 

3. Chroot kalėjimas #

Norėdami, kad FTP vartotojai negalėtų pasiekti failų ne savo namų kataloguose, nekomentuokite chroot direktyvą.

/ etc / vsftpd.konf
chroot_local_user = TAIP 

Kai „chroot“ funkcija yra aktyvi, „vsftpd“ atsisakys įkelti failus, jei katalogas, kuriame vartotojai yra užrakinti, yra įrašomas.

Norėdami padaryti „chroot“ aplinką rašomą, naudokite vieną iš toliau pateiktų sprendimų

4. Pasyvios FTP jungtys

Pagal numatytuosius nustatymus „vsftpd“ naudoja aktyvųjį režimą. Norėdami naudoti pasyvųjį režimą, nustatykite mažiausią ir didžiausią prievadų diapazoną:

/ etc / vsftpd.konf
pasv_min_port = 30000 pasv_max_port = 31000 

vsftpd gali naudoti bet kurį prievadą pasyviems FTP ryšiams. Kai įjungtas pasyvusis režimas, FTP klientas atidaro ryšį su serveriu atsitiktiniame jūsų pasirinkto diapazono prievade.

5. Vartotojo prisijungimo apribojimas #

Galite sukonfigūruoti vsftpd, kad tik tam tikri vartotojai galėtų prisijungti. Norėdami tai padaryti, failo pabaigoje pridėkite šias eilutes:

/ etc / vsftpd.konf
userlist_enable = TAIP userlist_file = / etc / vsftpd.user_list userlist_deny = NE 

Kai ši funkcija įgalinta, turite aiškiai nurodyti, kurie vartotojai gali prisijungti, pridėdami vartotojo vardus prie / etc / vsftpd.user_list failas (po vieną vartotoją kiekvienoje eilutėje).

6. Perdavimo užtikrinimas naudojant SSL / TLS #

Norėdami užšifruoti FTP perdavimus naudodami SSL / TLS, turite turėti SSL sertifikatą ir sukonfigūruoti FTP serverį, kad jį naudotumėte.

Galite naudoti esamą SSL sertifikatą, pasirašytą patikimos sertifikato institucijos, arba sukurti savarankiškai pasirašytą sertifikatą.

Jei turite domeną ar padomenį, nukreipiantį į FTP serverio IP adresą, galite lengvai sugeneruoti nemokamą „Let's Encrypt SSL“ sertifikatą.

Šioje pamokoje sugeneruosime savarankiškai pasirašytą SSL sertifikatą naudodami openssl komandą.

Paleiskite šią komandą, kad sukurtumėte 2048 bitų privatų raktą ir 10 metų galiojantį savarankiškai pasirašytą sertifikatą. Tiek privatus raktas, tiek sertifikatas bus išsaugoti tame pačiame faile:

sudo openssl req -x509 -nodes -days 3650 -newkey rsa: 2048 -keyout / etc / ssl / private / vsftpd.pem -out / etc / ssl / private / vsftpd.pem

Kai failai bus sukurti, atidarykite konfigūracijos failą:

sudo nano / etc / vsftpd.konf

Surask rsa_cert_file ir rsa_private_key_file pakeisti jų vertybes į pam failo kelią ir nustatykite ssl_enable direktyva TAIP:

/ etc / vsftpd.konf
rsa_cert_file = / etc / ssl / private / vsftpd.pem rsa_private_key_file = / etc / ssl / private / vsftpd.pem ssl_enable = TAIP 

Jei nenurodyta kitaip, FTP serveris naudos tik TLS saugiems ryšiams užmegzti.

Iš naujo paleiskite „vsftpd“ paslaugą #

Baigę konfigūruoti serverį, vsftpd konfigūracijos failas (išskyrus komentarus) turėtų atrodyti maždaug taip:

/ etc / vsftpd.konf
klausytis = NE klausytis_ipv6 = TAIP anonimas_įgalinti = NĖRA vietinis_įgalėti = TAIP rašyti_įgalėti = TAIP dirmessage_enable = YES use_localtime = YES xferlog_enable = YES connect_from_port_20 = YES chroot_local_user = YES allow_writeable_wall = YES______ = = YES pasas = YES.user_list userlist_deny = NE saugaus_chroot_dir = / var / run / vsftpd / tuščias pam_service_name = vsftpd rsa_cert_file = / etc / ssl / private / vsftpd.pem rsa_private_key_file = / etc / ssl / private / vsftpd.pem ssl_enable = TAIP 

Išsaugokite failą ir iš naujo paleiskite vsftpd paslaugą, kad pakeitimai įsigaliotų:

sudo systemctl paleiskite iš naujo vsftpd

Ugniasienės atidarymas #

Jei naudojate UFW užkardą, turėsite leisti FTP srautą.

Norėdami atidaryti uostą 21 (FTP komandų prievadas), prievadas 20 (FTP duomenų prievadas) ir 30000-31000 (Pasyviųjų prievadų diapazonas), vykdykite šias komandas:

sudo ufw leisti 20: 21 / tcpsudo ufw leisti 30000: 31000 / tcp

Perkraukite UFW taisykles išjungdami ir iš naujo įgalindami UFW:

sudo ufw išjungtisudo ufw įjungti

Kuriamas FTP vartotojas #

Norėdami išbandyti FTP serverį, sukursime naują vartotoją.

  1. Sukurkite naują vartotoją pavadinimu naujokas:

    sudo adduser newftpuser

    Kai būsite paraginti, nustatykite vartotojo slaptažodį.

  2. Pridėkite vartotoją prie leidžiamų FTP vartotojų sąrašo:

    aidas "newftpuser" | sudo tee -a / etc / vsftpd.user_list
  3. Sukurkite FTP katalogo medį ir nustatykite teisingus leidimus:

    sudo mkdir -p / home / newftpuser / ftp / uploadsudo chmod 550 / home / newftpuser / ftpsudo chmod 750 / home / newftpuser / ftp / uploadsudo chown -R newftpuser: / home / newftpuser / ftp

    Kaip buvo aptarta ankstesniame skyriuje, vartotojas galės įkelti failus į ftp / įkelti kataloge.

Šiuo metu jūsų FTP serveris yra visiškai veikiantis ir turėtumėte sugebėti prisijungti prie savo serverio naudodami bet kurią FTP klientą, pvz., „FileZilla“ .

„Shell“ prieigos išjungimas #

Pagal numatytuosius nustatymus, kurdamas vartotoją, jei jis nėra aiškiai nurodytas, vartotojas turės SSH prieigą prie įrenginio. Norėdami išjungti prieigą prie apvalkalo, sukurkite naują apvalkalą, kuris tiesiog atspausdins pranešimą, kuriame vartotojui bus pranešta, kad jo paskyra ribojama tik FTP prieiga.

Sukurkite / bin / ftponly apvalkalą ir padaryti jį vykdomą:

aidas -e '#!/ bin / sh \ necho "Ši paskyra ribojama tik FTP prieiga."'| sudo tee -a / bin / ftponlysudo chmod a + x / bin / ftponly

Pridėkite naują apvalkalą prie galiojančių apvalkalų sąrašo / etc / lukštai failas:

aidas "/ bin / ftponly" | sudo tee -a / etc / lukštai

Pakeiskite vartotojo apvalkalą į / bin / ftponly:

sudo usermod newftpuser -s / bin / ftponly

Ta pačia komanda pakeiskite visų vartotojų, kuriems norite suteikti tik FTP prieigą, apvalkalą.

Išvada Nr

Parodėme, kaip įdiegti ir sukonfigūruoti saugų ir greitą FTP serverį „Raspberry Pi“ sistemoje.

Jei turite klausimų ar atsiliepimų, palikite komentarą.

Naudingi įrankiai „Linux“ žaidėjams
Jei jums patinka žaisti žaidimus „Linux“ sistemoje, yra tikimybė, kad galbūt naudojote tokias programas ir įrankius kaip „Wine“, „Lutris“ ir „OBS Stud...
„HD Remastered“ žaidimai, skirti „Linux“, kurie niekada anksčiau nebuvo išleisti „Linux“
Daugelis žaidimų kūrėjų ir leidėjų siūlo senų žaidimų HD remasterį, kad prailgintų franšizės laiką. Prašome gerbėjų, prašančių suderinamumo su šiuolai...
Kaip naudoti „AutoKey“, norint automatizuoti „Linux“ žaidimus
„AutoKey“ yra darbalaukio automatizavimo įrankis, skirtas „Linux“ ir „X11“, užprogramuotas „Python 3“, „GTK“ ir „Qt“. Naudodami scenarijų ir „MACRO“ f...