FTP (failu pārsūtīšanas protokola) servera iestatīšana Linux datorā ļaus pārsūtīt failus no sistēmas uz attālo mašīnu. Mēs parādīsim, kā iestatīt FTP serveri CentOS.
Linux jau ir daudz atvērtā koda FTP serveru, kurus varat izmantot šim darbam. Tas ietver tādus populārus serverus kā PureFTPd, ProFTPD, kā arī vsftpd.
Jums ir atļauts izmantot jebkuru no FTP serveriem, kā vēlaties. Tomēr šajā apmācībā mēs instalēsim un izmantosim vsftpd, saīsināti no ļoti droša FTP dēmona. Tas ir ātrs, stabils un drošs FTP serveris, kas īsā laikā palīdzēs pārsūtīt failus uz attālo sistēmu un no tās.
FTP servera iestatīšana CentOS
Tāpēc sāksim darbu bez turpmākas darbības:
Instalējot vsftpd
Pirmkārt, mums būs jāinstalē vsftpd CentOS. Lai to izdarītu, terminālā ievadiet šādu komandu:
$ sudo dnf instalējiet vsftpd
Tā kā vsftpd ir instalēts jūsu CentOS sistēmā, tas jākonfigurē tā, lai tas sāktu un sāktu automātiski. To var izdarīt, izmantojot šādu komandu:
$ sudo systemctl iespējojiet vsftpd - tagad
Kad tas ir izdarīts, pārbaudiet vsftpd pakalpojuma statusu, ievadot šo komandu:
$ sudo systemctl statuss vsftpd
Parādīsies izvades ekrāns, kas līdzīgs zemāk redzamajam. Jums vajadzētu redzēt, ka vsftpd jūsu CentOS sistēmā nav “Aktīvs”.
Iestatīt vsftpd
Kad vsftpd ir aktīvs un darbojas jūsu sistēmā, jums būs jākonfigurē servera iestatījumi. Lai to izdarītu, jums būs jāpiekļūst failam / etc / vsftpd / vsftpd.conf konfigurācijas fails. To var izdarīt, atverot konfigurācijas failu nano redaktorā, terminālā ievadot šādu komandu:
$ sudo nano / etc / vsftpd / vsftpd.konf
Kad fails tagad ir atvērts redaktorā, ir jāveic vairākas izmaiņas, lai sistēmā iestatītu vsftpd. Pārejam pa tām pa vienam.
1. Konfigurējiet piekļuvi FTP
Vispirms konfigurēsim FTP serveri, lai atļautu piekļuvi tikai vietējiem lietotājiem. Lai to izdarītu, failā būs jāatrod anonymous_enable un local_enable direktīvas un jārediģē tās, kā parādīts zemāk esošajā attēlā:
Kā redzat, jums būs jāiestata anonymous_enable = NO un local_enable = YES.
2. Iespējot augšupielādes
Pēc tam jums būs jākonfigurē FTP serveris, lai atļautu failu augšupielādi un dzēšanu.
Lai to izdarītu, jums būs jāatrod direktīva write_enable un jāmaina uz YES, kā parādīts attēlā.
3. Ierobežot lietotāju pieteikšanos
Kad tas būs izdarīts, jūs vēlēsities ierobežot kopējo lietotāju pieteikumvārdu skaitu i.e., jūs vēlaties, lai tikai daži lietotāji pieteiktos jūsu FTP serverī. Lai to izdarītu, vispirms atrodiet šo līniju .conf fails - userlist_enable = JĀ. Pēc tam pievienojiet failā šīs divas rindas:
userlist_file = / etc / vsftpd / user_list userlist_deny = NĒ
Izmantojiet zemāk esošo attēlu kā atsauci:
Varat arī izvēlēties iespējot šo opciju. Ja to izdarīsit, jums būs skaidri jānorāda, kuriem lietotājiem vēlaties piešķirt piekļuvi FTP serverim. Lai atļautu lietotājiem, jums būs jāpievieno viņu lietotājvārdi failā / etc / vsftpd / user_list, katrā rindiņā tikai viens lietotājvārds.
4. Iestatiet pasīvos FTP savienojumus
Varat arī iestatīt pasīvos FTP savienojumus.
Šeit mēs parādīsim, kā jūs varat norādīt minimālo un maksimālo ostu diapazonu, pievienojot pāris rindas iekšpusē .conf fails.
Viss, kas jums jādara, ir ritināt uz leju līdz faila beigām un pievienot šīs divas rindas, kā parādīts attēlā.
pasv_min_port = 30000 pasv_max_port = 31000
Mēs arī apspriedīsim, kā jūs varat atvērt diapazonu savā ugunsmūrī vēlāk šajā apmācībā.
5. Konfigurējiet drošas pārraides, izmantojot SSL / TLS
Visbeidzot, rodas jautājums par FTP savienojuma drošību, izmantojot SSL / TLS. Lai to izdarītu, jums būs nepieciešams SSL sertifikāts un jākonfigurē FTP serveris tā izmantošanai.
Tomēr šīs apmācības labad mēs ģenerēsim pašparakstītu SSL sertifikātu, izmantojot OpenSSL rīku, un pēc tam to izmantosim, lai šifrētu mūsu FTP pārraidi.
Tātad, vispirms ir jāizmanto OpenSSL, lai ģenerētu jaunu SSL sertifikātu. To varat izdarīt, terminālā ievadot šādu komandu:
sudo openssl req -x509 -nodes-dienas 3650 -newkey rsa: 2048 -keyout / etc / vsftpd / vsftpd.pem -out / etc / vsftpd / vsftpd.pem
Palaidot iepriekš minēto komandu, tiks ģenerēta 2048 bitu privātā atslēga, kā arī pašparakstīts sertifikāts. Abas no tām ir derīgas desmit gadus un tiek saglabātas vienā failā.
Pēc jaunā SSL sertifikāta izveides atveriet vsftpd konfigurācijas failu, izmantojot iepriekšējo komandu:
sudo nano / etc / vsftpd / vsftpd.konf
Ritiniet uz leju un pievienojiet šādas rindas, kā parādīts attēlā:
rsa_cert_file = / etc / vsftpd / vsftpd.pem rsa_private_key_file = / etc / vsftpd / vsftpd.pem ssl_enable = JĀ
Un viss. Jūs esat veiksmīgi konfigurējis SSL sertifikātu savam FTP serverim.
6. Pabeigt
Kad tas ir izdarīts, vēlreiz pārbaudiet vsftpd konfigurācijas failu, lai redzētu, vai visi šie iestatījumi ir tādi, kādi tie ir:
anonymous_enable = NO local_enable = YES write_enable = YES local_umask = 022 dirmessage_enable = YES xferlog_enable = YES connect_from_port_20 = YES xferlog_std_format = YES klausīties = NĒ klausīties_ipv6 = YES pam_service_name = vsftpd = Lietotāja_lpp = Lietotāja_lv = Lietotāju_lpp = Lietotāju_lpp = Lietotāju_lpp = Lietotāju_nr = Lietotāju_lpp = Lietotāju_nr = Lietotāju_lpp = Lietotāju_lpp = Lietotāju_lpp = Lietotāju_l / = pasv_max_port = 31000 rsa_cert_file = / etc / vsftpd / vsftpd.pem rsa_private_key_file = / etc / vsftpd / vsftpd.pem ssl_enable = JĀ
Pēc tam, kad esat pārliecinājies, ka failā ir veiktas visas iepriekš minētās izmaiņas, tas būs jāsaglabā. Pēc saglabāšanas restartējiet pakalpojumu vsftpd, izmantojot šādu komandu:
$ sudo systemctl restartējiet vsftpd
Konfigurējiet ugunsmūri
Ja kopā ar FTP serveri ir iespējots ugunsmūris, ugunsmūris jākonfigurē tā, lai tas ļautu FTP pārraides.
Lai to izdarītu, terminālā jums būs jāievada šādas komandas:
$ sudo ugunsmūris-cmd - pastāvīgs - add-ports = 20-21 / tcp
Iepriekš minētā komanda atver 21. portu, kas ir FTP komandu ports, un 20. portu, kas ir FTP datu ports.
Jums būs jāievada arī šī komanda:
$ sudo ugunsmūris-cmd - pastāvīgs - add-ports = 30000-31000 / tcp
Šī komanda atver 30000-31000 pasīvo portu diapazonu, kuru mēs iepriekš konfigurējām.
Kad tas izdarīts, ugunsmūris būs jāielādē atkārtoti, izmantojot šādu komandu:
$ firewall-cmd - reload
Kā izveidot jaunu FTP lietotāju
Tagad, kad esat iestatījis savu vsftpd serveri savā CentOS sistēmā, ir pienācis laiks izveidot jaunu FTP lietotāju un pārbaudīt to.
Vispirms izveidosim jaunu FTP lietotāju (newftpuser), izmantojot šādu komandu:
$ sudo adduser newftpuser
Pēc tam jums būs jāiestata parole jaunajam lietotājam. Lai to izdarītu, izmantojiet šo komandu:
$ sudo passwd newftpuser
Pārliecinieties, vai parole ir stingra un garāka par astoņām rakstzīmēm.
Pēc jaunā lietotāja izveides tas būs jāpievieno FTP lietotāju sarakstam. To var izdarīt, terminālā ievadot šādu komandu:
$ echo "newftpuser" | sudo tee -a / etc / vsftpd / user_list
Visbeidzot, jums būs jāizveido FTP direktoriju koks, kurā iestatīsit visas pareizās atļaujas. Lai to izdarītu, terminālā jums būs jāievada šādas komandu sērijas:
$ sudo mkdir -p / home / newftpuser / ftp / upload $ sudo chmod 550 / home / newftpuser / ftp $ sudo chmod 750 / home / newftpuser / ftp / upload $ sudo chown -R newftpuser: / home / newftpuser / ftp
Tagad jūsu FTP serveris ir pilnībā funkcionāls un gatavs darbam. Tagad varat izveidot savienojumu ar to, izmantojot jebkuru FTP klientu, piemēram, FileZilla. Vienkārši pārliecinieties, vai FTP klientu var arī konfigurēt, lai izmantotu TLS šifrēšanu, jo tas tiek izmantots FTP pārraides šifrēšanai.
Atspējot piekļuvi čaulai
Veidojot jaunu FTP lietotāju, jums jāpatur prātā, ka lietotājam būs SSH piekļuve serverim, ja vien tas nav skaidri norādīts.
Ja vēlaties atspējot čaulas piekļuvi no lietotāja, jums būs jāizveido jauna čaula, kurā tiks izdrukāts ziņojums, kurā lietotājs tiek informēts, ka - “Šis konts ir atļauts tikai FTP piekļuvei.”
Lai to izdarītu, terminālā jums būs jāievada šāda komanda:
$ echo -e '#!/ bin / sh \ necho "Šis konts ir atļauts tikai FTP piekļuvei."'| sudo tee -a / bin / ftponly $ sudo chmod a + x / bin / ftponly
Iepriekš minētā komanda izveidos / bin / ftponly apvalku un izpildīs to.
Pēc tam jums būs jāpievieno jaunā čaula derīgo čaulu sarakstā, kas atrodas / etc / čaulas failu. Tas tiek darīts, izmantojot šādu komandu:
$ echo "/ bin / ftponly" | sudo tee -a / etc / čaulas
Kā pēdējais solis viss, kas jums jādara, ir mainīt lietotāja apvalku uz / bin / ftponly, izmantojot šo komandu:
$ sudo usermod newftpuser -s / bin / ftponly
Arī visiem nākamajiem FTP lietotājiem varat izmantot to pašu komandu, lai mainītu viņu čaumalu, lai viņiem būtu tikai piekļuve FTP.