Az FTP (File Transfer Protocol) szerver beállítása Linux operációs rendszeren lehetővé teszi fájlok átvitelét a rendszer és a távoli gép között. Megmutatjuk, hogyan lehet FTP szervert beállítani a CentOS-on.
A Linuxnak már rengeteg nyílt forráskódú FTP-szervere van, amelyeket felhasználhat a munkához. Ide tartoznak az olyan népszerű szerverek, mint a PureFTPd, a ProFTPD, valamint a vsftpd.
Bármelyik FTP-kiszolgálót tetszés szerint használhatja. Ebben az oktatóanyagban azonban a vsftpd-t telepítjük és használjuk, amely a nagyon biztonságos FTP-démon rövidítése. Ez egy gyors, stabil és biztonságos FTP-kiszolgáló, amely elősegíti a fájlok áttelepítését távoli rendszerbe és onnan.
Az FTP szerver beállítása a CentOS-on
Tehát minden további nélkül kezdjük:
A vsftpd telepítése
Először telepítenünk kell a vsftpd-t a CentOS-ra. Ehhez írja be a következő parancsot a terminálba:
$ sudo dnf install vsftpd
Ha a vsftpd telepítve van a CentOS rendszerére, akkor úgy kell beállítania, hogy automatikusan elinduljon és elinduljon. Ez a következő paranccsal hajtható végre:
$ sudo systemctl enable vsftpd --now
Miután ez megtörtént, ellenőrizze a vsftpd szolgáltatás állapotát a következő paranccsal:
$ sudo systemctl status vsftpd
Az alábbihoz hasonló kimeneti képernyő jelenik meg. Látnia kell, hogy a vsftpd nem „aktív” a CentOS rendszerén.
A vsftpd beállítása
Ha a vsftpd aktív és fut a rendszerén, konfigurálnia kell a szerver beállításait. Ehhez hozzáférnie kell az / etc / vsftpd / vsftpd fájlba.conf konfigurációs fájl. Ezt úgy teheti meg, hogy megnyitja a konfigurációs fájlt a nano szerkesztőben, a következő parancs beírásával a terminálba:
$ sudo nano / etc / vsftpd / vsftpd.konf
Mivel a fájl most megnyílt a szerkesztőben, számos változtatást kell végrehajtania a vsftpd beállításához a rendszeren. Nézzük át őket egyenként.
1. Konfigurálja az FTP hozzáférést
Először állítsuk be az FTP szervert úgy, hogy csak a helyi felhasználók számára engedélyezze a hozzáférést. Ehhez meg kell találnia az anonymous_enable és a local_enable direktívákat a fájlban, és szerkesztenie kell őket az alábbi képen látható módon:
Amint láthatja, be kell állítania az anonymous_enable = NO és a local_enable = YES értékeket.
2. Feltöltés engedélyezése
Ezután be kell állítania az FTP szervert, hogy lehetővé tegye a fájlok feltöltését és törlését.
Ehhez meg kell találnia az write_enable direktívát, és YES-re kell állítania, amint az a képen látható.
3. Korlátozza a felhasználói bejelentkezéseket
Miután elkészült, korlátozni kívánja a felhasználói bejelentkezések teljes számát i.e., csak bizonyos felhasználókat szeretne bejelentkezni az FTP-kiszolgálóra. Ehhez először keresse meg ezt a sort a .conf fájl - userlist_enable = IGEN. Ezt követően adja hozzá ezt a két sort a fájlhoz:
userlist_file = / etc / vsftpd / user_list userlist_deny = NEM
Használja az alábbi képet referenciaként:
Választhatja ezt az opciót is. Ha mégis megteszi, akkor pontosan meg kell határoznia, hogy mely felhasználóknak kíván hozzáférést adni az FTP-kiszolgálóhoz. A felhasználók engedélyezéséhez hozzá kell adnia a felhasználónevüket az / etc / vsftpd / user_list fájlhoz, minden sorban csak egy felhasználónévvel.
4. Passzív FTP-kapcsolatok beállítása
Érdemes lehet passzív FTP-kapcsolatokat is létrehozni.
Mint ilyen, itt megmutatjuk, hogyan adhatja meg a portok minimális és maximális tartományát, ha pár sort ad hozzá a .conf fájl.
Csak annyit kell tennie, hogy görgessen lefelé a fájl végéig, és adja hozzá ezt a két sort, ahogy a képen látható.
pasv_min_port = 30000 pasv_max_port = 31000
Azt is megvitatjuk, hogyan nyithatja meg a tartományt a tűzfalon ebben az oktatóanyagban később.
5. Konfigurálja a biztonságos átviteleket az SSL / TLS használatával
Végül felmerül az FTP-kapcsolat SSL / TLS használatával történő biztosításának kérdése. Ehhez rendelkeznie kell egy SSL tanúsítvánnyal, és konfigurálnia kell az FTP szervert a használatához.
Ennek az oktatóanyagnak az érdekében azonban az OpenSSL eszközzel létrehozunk egy önaláírt SSL tanúsítványt, majd felhasználjuk az FTP átvitel titkosításához.
Tehát először is az OpenSSL-t kell használnia egy új SSL-tanúsítvány előállításához. Ezt úgy teheti meg, hogy a következő parancsot írja be a terminálba:
sudo openssl req -x509 -node -days 3650 -newkey rsa: 2048 -keyout / etc / vsftpd / vsftpd.pem -out / etc / vsftpd / vsftpd.pem
A fenti parancs futtatásával 2048 bites magánkulcsot és önaláírt tanúsítványt generál. Mindkettő tíz évig érvényes, és ugyanabban a fájlban van elmentve.
Az új SSL tanúsítvány létrehozása után nyissa meg a vsftpd konfigurációs fájlt az előző paranccsal:
sudo nano / etc / vsftpd / vsftpd.konf
Görgessen lefelé, és adja hozzá a következő sorokat a képen látható módon:
rsa_cert_file = / etc / vsftpd / vsftpd.pem rsa_private_key_file = / etc / vsftpd / vsftpd.pem ssl_enable = IGEN
És ez az. Sikeresen konfigurálta az SSL tanúsítványt az FTP kiszolgálóhoz.
6. Véglegesítse
Miután elkészült, ellenőrizze újra a vsftpd konfigurációs fájlt, hogy megnézze, hogy az összes következő beállítás a jelenlegi-e:
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 listen = NO listen_ipv6 = YES pam_service_name = vsftp = user_fájl = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_lista = felhasználói_fájl = felhasználói fájl = pasv_max_port = 31000 rsa_cert_file = / etc / vsftpd / vsftpd.pem rsa_private_key_file = / etc / vsftpd / vsftpd.pem ssl_enable = IGEN
Miután megbizonyosodott arról, hogy a fenti változtatásokat elvégezte a fájlban, el kell mentenie. A mentés után indítsa újra a vsftpd szolgáltatást a következő paranccsal:
$ sudo systemctl indítsa újra a vsftpd fájlt
Konfigurálja a tűzfalat
Ha az FTP-kiszolgálóval együtt engedélyezve van egy tűzfal, akkor a tűzfalat úgy kell konfigurálnia, hogy az lehetővé tegye az FTP-továbbításokat.
Ehhez a következő parancsokat kell beírnia a terminálba:
$ sudo tűzfal-cmd - állandó - add-port = 20-21 / tcp
A fenti parancs megnyitja a 21. portot - amely az FTP parancsport, és a 20. portot - amely az FTP adatport.
Ezt a parancsot is meg kell adnia:
$ sudo tűzfal-cmd --permanent --add-port = 30000-31000 / tcp
Ez a parancs megnyitja a 30000-31000 passzív port tartományt, amelyet korábban konfiguráltunk.
Miután elkészült, a következő paranccsal újra kell töltenie a tűzfalat:
$ firewall-cmd --reload
Új FTP-felhasználó létrehozása
Most, hogy beállította a vsftpd szervert a CentOS rendszerén, itt az ideje, hogy hozzon létre egy új FTP felhasználót, és tesztelje.
Először hozzunk létre egy új FTP felhasználót (newftpuser) a következő paranccsal:
$ sudo adduser newftpuser
Ezután meg kell adnia egy jelszót az új felhasználó számára. Ehhez használja ezt a parancsot:
$ sudo passwd newftpuser
Győződjön meg arról, hogy a jelszó erős és nyolc karakternél hosszabb.
Az új felhasználó létrehozása után hozzá kell adnia az FTP felhasználói listához. Ezt úgy teheti meg, hogy a következő parancsot írja be a terminálba:
$ echo "newftpuser" | sudo tee -a / etc / vsftpd / user_list
Végül létre kell hoznia egy FTP könyvtárfát, ahol megadhatja az összes helyes engedélyt. Ehhez a következő parancssorokat kell megadnia a terminálban:
$ 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
Mostanra az FTP szerver teljesen működőképes és készen áll az indulásra. Mostantól bármely FTP kliens, például a FileZilla segítségével csatlakozhat hozzá. Csak győződjön meg arról, hogy az FTP kliens a TLS titkosítás használatára is konfigurálható, mivel az FTP adások titkosítására szolgál.
Tiltsa le a Shell hozzáférést
Az új FTP-felhasználók létrehozásakor egy dolgot érdemes szem előtt tartania, hogy hacsak kifejezetten nincs megadva, a felhasználónak SSH-hozzáférése lesz a szerverhez.
Ha le akarja tiltani a héjhoz való hozzáférést a felhasználótól, létre kell hoznia egy új héjat, amely nyomtat egy üzenetet, amely arról tájékoztatja a felhasználót, hogy - „Ez a fiók csak az FTP-hozzáférésre korlátozódik.”
Ehhez meg kell adnia a következő parancsot a terminálban:
$ echo -e '#!/ bin / sh \ necho "Ez a fiók csak az FTP hozzáférésre korlátozódik."'| sudo tee -a / bin / ftponly $ sudo chmod a + x / bin / ftponly
A fenti parancs létrehozza a / bin / ftponly héjat és végrehajtja.
Ezután hozzá kell fűznie az új héjat az érvényes héjak listájához, amelyek a / etc / shell fájl. Ezt a következő paranccsal teheti meg:
$ echo "/ bin / ftponly" | sudo tee -a / etc / shells
Utolsó lépésként mindössze annyit kell tennie, hogy a felhasználói héjat a / bin / ftponly értékre kell cserélnie ezzel a paranccsal:
$ sudo usermod newftpuser -s / bin / ftponly
Ezenkívül minden jövőbeni FTP-felhasználó számára ugyanazt a parancsot használhatja a shell megváltoztatására, hogy csak FTP-hozzáféréssel rendelkezzenek.