Postavljanje FTP (File Transfer Protocol) poslužitelja na vašem Linux PC-u omogućit će vam prijenos datoteka između vašeg sustava i udaljenog stroja. Pokazat ćemo vam kako postaviti FTP poslužitelj na CentOS.
Linux već ima tonu FTP poslužitelja otvorenog koda koje možete koristiti za posao. To uključuje popularne poslužitelje poput PureFTPd, ProFTPD, kao i vsftpd.
Možete koristiti bilo koji od FTP poslužitelja kako želite. Međutim, u ovom uputstvu instalirat ćemo i koristiti vsftpd, skraćenicu od Very Secure FTP Daemon. To je brz, stabilan i siguran FTP poslužitelj koji će vam pomoći u trenu za prijenos datoteka na udaljeni sustav i iz njega.
Postavljanje FTP poslužitelja na CentOS
Dakle, bez daljnjega, krenimo:
Instaliranje vsftpd
Prvo, trebat ćemo instalirati vsftpd na CentOS. Da biste to učinili, u terminal unesite sljedeću naredbu:
$ sudo dnf instaliraj vsftpd
Kada je vsftpd instaliran na vašem CentOS sustavu, trebali biste ga konfigurirati tako da se automatski pokreće i pokreće. To se može učiniti pomoću sljedeće naredbe:
$ sudo systemctl enable vsftpd --now
Kada je to gotovo, provjerite status usluge vsftpd unošenjem ove naredbe:
$ sudo systemctl status vsftpd
Pojavit će se izlazni zaslon sličan onome u nastavku. Trebali biste vidjeti da vsftpd nije "aktivan" na vašem CentOS sustavu.
Postavljanje vsftpd
Kad je vsftpd aktivan i pokrenut na vašem sustavu, morat ćete konfigurirati postavke poslužitelja. Da biste to učinili, trebat ćete pristupiti / etc / vsftpd / vsftpd.konfiguracijska datoteka conf. To se može učiniti otvaranjem konfiguracijske datoteke u nano uređivaču unošenjem sljedeće naredbe u terminal:
$ sudo nano / etc / vsftpd / vsftpd.konf
S datotekom koja je sada otvorena u uređivaču, morate izvršiti nekoliko promjena da biste postavili vsftpd na vašem sustavu. Krenimo s njima jedan po jedan.
1. Konfigurirajte FTP pristup
Prvo, konfigurirajmo FTP poslužitelj tako da dopušta pristup samo lokalnim korisnicima. Da biste to učinili, u datoteci ćete morati pronaći direktive anonimni_enable i local_enable i urediti ih kako je prikazano na donjoj slici:
Kao što vidite, morat ćete postaviti anonimno_enable = NE i local_enable = DA.
2. Omogući prijenose
Dalje, morat ćete konfigurirati FTP poslužitelj kako bi omogućio prijenos i brisanje datoteka.
Da biste to učinili, morat ćete pronaći direktivu write_enable i promijeniti je u DA, kao što je prikazano na slici.
3. Ograniči korisničke prijave
Kada završite, morat ćete ograničiti ukupan broj korisničkih prijava i.e., želite samo određene korisnike da se prijave na vaš FTP poslužitelj. Da biste to učinili, prvo pronađite ovaj redak u .conf datoteka - userlist_enable = DA. Nakon toga u datoteku dodajte ova dva retka:
userlist_file = / etc / vsftpd / user_list userlist_deny = NE
Koristite donju sliku kao referencu:
Također možete odabrati omogućiti ovu opciju. Ako to učinite, morat ćete izričito navesti kojim korisnicima želite dati pristup FTP poslužitelju. Da biste omogućili korisnicima, morat ćete dodati njihova korisnička imena u datoteku / etc / vsftpd / user_list sa samo jednim korisničkim imenom u svakom retku.
4. Postavljanje pasivnih FTP veza
Možda ćete htjeti postaviti i pasivne FTP veze.
Kao takvi, ovdje ćemo vam pokazati kako možete odrediti minimalni i maksimalni raspon portova dodavanjem nekoliko redaka unutar .conf datoteka.
Sve što trebate je pomaknuti se do kraja datoteke i dodati ova dva retka, kao što je prikazano na slici.
pasv_min_port = 30000 pasv_max_port = 31000
Također ćemo razgovarati o tome kako kasnije možete otvoriti raspon u vatrozidu u ovom vodiču.
5. Konfigurirajte sigurne prijenose pomoću SSL / TLS-a
Konačno, dolazi pitanje osiguranja FTP veze pomoću SSL / TLS-a. Da biste to učinili, trebat ćete imati SSL certifikat i konfigurirati svoj FTP poslužitelj da ga koristi.
Međutim, radi ovog vodiča, generirat ćemo samopotpisani SSL certifikat pomoću alata OpenSSL, a zatim ćemo ga koristiti za šifriranje našeg FTP prijenosa.
Dakle, prvo najprije, morat ćete koristiti OpenSSL za generiranje novog SSL certifikata. To možete učiniti unošenjem sljedeće naredbe u terminal:
sudo openssl req -x509 -nodes -days 3650 -newkey rsa: 2048 -keyout / etc / vsftpd / vsftpd.pem -out / etc / vsftpd / vsftpd.pem
Pokretanjem gornje naredbe generirat će se 2048-bitni privatni ključ, kao i samopotpisani certifikat. Obje vrijede deset godina i spremljene su u istu datoteku.
Nakon stvaranja novog SSL certifikata otvorite vsftpd konfiguracijsku datoteku pomoću prethodne naredbe:
sudo nano / etc / vsftpd / vsftpd.konf
Pomaknite se prema dolje i dodajte sljedeće redove kao što je prikazano na slici:
rsa_cert_file = / etc / vsftpd / vsftpd.pem rsa_private_key_file = / etc / vsftpd / vsftpd.pem ssl_enable = DA
I to je to. Uspješno ste konfigurirali SSL certifikat za svoj FTP poslužitelj.
6. Dovršiti
Kada završite, ponovno provjerite datoteku za konfiguraciju vsftpd da biste vidjeli jesu li sve sljedeće postavke takve kakve jesu:
anonymous_enable = NO local_enable = DA write_enable = DA local_umask = 022 dirmessage_enable = DA xferlog_enable = DA connect_from_port_20 = DA xferlog_std_format = DA slušati = NO listen_ipv6 = DA pam_service_name = vsftpd userlist_enable = DA userlist_file = / etc / vsftpd / USER_LIST userlist_deny = NO pasv_min_port-30000 pasv_max_port = 31000 rsa_cert_file = / etc / vsftpd / vsftpd.pem rsa_private_key_file = / etc / vsftpd / vsftpd.pem ssl_enable = DA
Nakon što se uvjerite da su u datoteku unesene sve gore navedene promjene, morat ćete je spremiti. Jednom spremljeni, ponovo pokrenite uslugu vsftpd pomoću sljedeće naredbe:
$ sudo systemctl ponovno pokrenite vsftpd
Konfigurirajte vatrozid
Ako vam je omogućen vatrozid zajedno s FTP poslužiteljem, tada morate konfigurirati vatrozid tako da omogućuje FTP prijenose.
Da biste to učinili, trebat ćete unijeti sljedeće naredbe u terminal:
$ sudo firewall-cmd - permanent --add-port = 20-21 / tcp
Gornja naredba otvara port 21 - koji je FTP naredbeni port i port 20 - koji je FTP podatkovni port.
Također ćete morati unijeti i ovu naredbu:
$ sudo firewall-cmd --permanent --add-port = 30000-31000 / tcp
Ova naredba otvara raspon pasivnih priključaka 30000-31000, koji smo prethodno konfigurirali.
Kada završite, morat ćete ponovo učitati vatrozid pomoću sljedeće naredbe:
$ firewall-cmd --reload
Kako stvoriti novog FTP korisnika
Sada kada ste postavili svoj vsftpd poslužitelj na vašem CentOS sustavu, vrijeme je da stvorite novog FTP korisnika i testirate ga.
Prvo stvorimo novog FTP korisnika (newftpuser) pomoću sljedeće naredbe:
$ sudo adduser newftpuser
Dalje, morat ćete postaviti lozinku za novog korisnika. Da biste to učinili, upotrijebite ovu naredbu:
$ sudo passwd newftpuser
Provjerite je li lozinka jaka i dulja od osam znakova.
Nakon izrade novog korisnika morat ćete ga dodati na FTP popis korisnika. To se može učiniti unošenjem sljedeće naredbe u terminal:
$ echo "newftpuser" | sudo tee -a / etc / vsftpd / user_list
Napokon, morat ćete stvoriti FTP stablo direktorija gdje ćete postaviti sva ispravna dopuštenja. Da biste to učinili, trebat ćete unijeti sljedeći niz naredbi u terminal:
$ 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
Do sada je vaš FTP poslužitelj potpuno funkcionalan i spreman za rad. Sada se s njim možete povezati pomoću bilo kojeg FTP klijenta poput FileZille. Samo se pobrinite da FTP klijent također može biti konfiguriran da koristi TLS šifriranje jer se koristi za šifriranje FTP prijenosa.
Onemogući pristup ljusci
Jedna stvar koju biste trebali imati na umu prilikom stvaranja novog FTP korisnika jest da će, osim ako nije izričito navedeno, korisnik imati SSH pristup poslužitelju.
Ako želite onemogućiti pristup ljusci od korisnika, morat ćete stvoriti novu ljusku koja će ispisati poruku koja obavještava korisnika da - „Ovaj je račun ograničen samo na FTP pristup."
Da biste to učinili, u terminal ćete morati unijeti sljedeću naredbu:
$ echo -e '#!/ bin / sh \ necho "Ovaj je račun ograničen samo na FTP pristup."'| sudo tee -a / bin / ftponly $ sudo chmod a + x / bin / ftponly
Gornja naredba će stvoriti / bin / ftponly ljusku i izvršiti je.
Dalje, morat ćete dodati novu ljusku na popis važećih školjki koje se nalaze unutar / itd. / ljuske datoteka. To se radi pomoću sljedeće naredbe:
$ echo "/ bin / ftponly" | sudo tee -a / itd / školjke
I kao posljednji korak, sve što trebate je promijeniti korisničku ljusku u / bin / ftponly pomoću ove naredbe:
$ sudo usermod newftpuser -s / bin / ftponly
Također, za sve buduće FTP korisnike, možete upotrijebiti istu naredbu za promjenu njihove ljuske tako da mogu imati samo FTP pristup.