Server

FTP-server instellen op CentOS

FTP-server instellen op CentOS

Door een FTP-server (File Transfer Protocol) op uw Linux-pc in te stellen, kunt u bestanden overbrengen tussen uw systeem en een externe machine. We laten u zien hoe u een FTP-server instelt op CentOS.

Linux heeft al een heleboel open-source FTP-servers die je voor de klus kunt gebruiken. Dit omvat populaire servers zoals PureFTPd, ProFTPD en vsftpd.

Je mag een van de FTP-servers gebruiken zoals je wilt. In deze tutorial zullen we echter vsftpd installeren en gebruiken, een afkorting voor Very Secure FTP Daemon. Het is een snelle, stabiele en veilige FTP-server waarmee u in een handomdraai bestanden van en naar een extern systeem kunt overbrengen.

FTP-server instellen op CentOS

Dus zonder verder oponthoud, laten we beginnen:

vsftpd installeren

Eerst moeten we vsftpd installeren op CentOS install. Voer hiervoor de volgende opdracht in de terminal in:

$ sudo dnf install vsftpd

vsftpd installeren op CentOS

Met vsftpd geïnstalleerd op uw CentOS-systeem, moet u het zo configureren dat het automatisch start en opstart. Dit kan met het volgende commando:

$ sudo systemctl vsftpd inschakelen --nu

Zodra dat is gebeurd, controleert u de vsftpd-servicestatus door deze opdracht in te voeren:

$ sudo systemctl-status vsftpd

Er verschijnt een uitvoerscherm dat lijkt op het onderstaande:. U zou moeten zien dat vsftpd niet "Actief" is op uw CentOS-systeem.

vsftpd actief en draait op CentOS

vsftpd instellen

Met vsftpd actief en actief op uw systeem, moet u de serverinstellingen configureren. Om dit te doen, moet u de /etc/vsftpd/vsftpd.conf configuratiebestand. Dit kan door het configuratiebestand in de nano-editor te openen door het volgende commando in de terminal in te voeren:

$ sudo nano /etc/vsftpd/vsftpd.conf

Nu het bestand in de editor is geopend, zijn er verschillende wijzigingen die u moet aanbrengen om vsftpd op uw systeem in te stellen. Laten we ze een voor een doornemen.

1. FTP-toegang configureren

Laten we eerst de FTP-server zo configureren dat alleen de lokale gebruikers toegang hebben. Om dit te doen, moet u de richtlijnen Anonymous_enable en Local_enable in het bestand zoeken en deze bewerken zoals in de onderstaande afbeelding wordt weergegeven:

Instellingen voor FTP-toegang

Zoals u kunt zien, moet u anoniem_enable=NO en local_enable=YES . instellen.

2. Uploaden inschakelen

Vervolgens moet u de FTP-server configureren om het uploaden en verwijderen van bestanden toe te staan.

Om dit te doen, moet u de write_enable-instructie zoeken en deze wijzigen in YES, zoals weergegeven in de afbeelding.

Optie om vsftpd-uploads in te schakelen

3. Beperk gebruikersaanmeldingen

Als u klaar bent, wilt u het totale aantal gebruikersaanmeldingen beperken i.e., u wilt dat alleen bepaalde gebruikers inloggen op uw FTP-server. Om dit te doen, zoekt u eerst deze regel in de .conf bestand - userlist_enable=JA. Voeg daarna deze twee regels toe aan het bestand:

userlist_file=/etc/vsftpd/user_list userlist_deny=NEE

Gebruik onderstaande afbeelding als referentie:

Instellingen om gebruikersaanmeldingen te beperken

U kunt er ook voor kiezen om deze optie in te schakelen. Als u dat doet, moet u expliciet aangeven welke gebruikers u toegang wilt geven tot de FTP-server. Om de gebruikers toe te staan, moet u hun gebruikersnamen toevoegen aan het bestand /etc/vsftpd/user_list met slechts één gebruikersnaam in elke regel.

4. Passieve FTP-verbindingen instellen

Misschien wilt u ook passieve FTP-verbindingen instellen.

Daarom laten we u hier zien hoe u de minimum- en maximumbereiken van de poorten kunt specificeren door een paar regels toe te voegen aan de .conf bestand.

Passieve FTP-verbindingen instellen

Het enige wat u hoeft te doen is naar het einde van het bestand te scrollen en deze twee regels toe te voegen, zoals weergegeven in de afbeelding.

pasv_min_port=30000 pasv_max_port=31000

We zullen later in deze tutorial ook bespreken hoe je het bereik in je firewall kunt openen.

5. Beveiligde verzendingen configureren met SSL/TLS

Ten slotte komt de kwestie van het beveiligen van de FTP-verbinding met behulp van SSL/TLS. Om dit te doen, moet u een SSL-certificaat hebben en uw FTP-server configureren om deze te gebruiken.

Omwille van deze tutorial zullen we echter een zelfondertekend SSL-certificaat genereren met behulp van de OpenSSL-tool en dit vervolgens gebruiken om onze FTP-transmissie te coderen.

Dus eerst moet je OpenSSL gebruiken om een ​​nieuw SSL-certificaat te genereren. U kunt dit doen door het volgende commando in de terminal in te voeren:

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

Een zelfondertekend OpenSSL-certificaat maken in CentOS

Het uitvoeren van de bovenstaande opdracht genereert een 2048-bits privésleutel en een zelfondertekend certificaat. Beide zijn tien jaar geldig en worden in hetzelfde bestand opgeslagen.

Nadat u uw nieuwe SSL-certificaat hebt gemaakt, opent u het vsftpd-configuratiebestand met de vorige opdracht:

sudo nano /etc/vsftpd/vsftpd.conf

Scroll naar beneden en voeg de volgende regels toe zoals weergegeven in de afbeelding:

rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=JA

SSL-instellingen configureren voor vsftpd

En dat is het. U heeft het SSL-certificaat voor uw FTP-server succesvol geconfigureerd.

6. Afronden

Als u klaar bent, controleert u het vsftpd-configuratiebestand opnieuw om te zien of alle volgende instellingen zijn zoals het is:

anoniem_enable=NEE local_enable=JA write_enable=JA local_umask=022 dirmessage_enable=JA xferlog_enable=JA connect_from_port_20=JA xferlog_std_format=JA listen=NEE listen_ipv6=JA pam_service_name=vsftpdgebruiker=vsftpd_userlist_enable=YetNO userlist_enable=YES userlist_enable=YES userlist_enable=YES userlist_enable pasv_max_port=31000 rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=JA

Nadat u ervoor heeft gezorgd dat alle bovenstaande wijzigingen in het bestand zijn aangebracht, moet u het opslaan. Na het opslaan start u de vsftpd-service opnieuw met de volgende opdracht:

$ sudo systemctl herstart vsftpd

Configureer de firewall

Als u een firewall hebt ingeschakeld samen met de FTP-server, moet u de firewall zo configureren dat deze de FTP-transmissies toestaat.

Om dit te doen, moet u de volgende opdrachten in de terminal invoeren:

$ sudo firewall-cmd --permanent --add-port=20-21/tcp

De bovenstaande opdracht opent poort 21 - wat de FTP-opdrachtpoort is, en poort 20 - wat de FTP-gegevenspoort is.

U moet ook deze opdracht invoeren:

$ sudo firewall-cmd --permanent --add-port=30000-31000/tcp

Deze opdracht opent het bereik van 30000-31000 passieve poorten, dat we eerder hebben geconfigureerd.

Toestaan ​​dat de vsftpd-server door de CentOS-firewall gaat

Als u klaar bent, moet u de firewall opnieuw laden met de volgende opdracht:

$ firewall-cmd --reload

Een nieuwe FTP-gebruiker maken

Nu u uw vsftpd-server op uw CentOS-systeem hebt ingesteld, is het tijd om een ​​nieuwe FTP-gebruiker aan te maken en deze uit te testen.

Laten we eerst een nieuwe FTP-gebruiker (newftpuser) maken met behulp van de volgende opdracht:

$ sudo adduser newftpuser

Vervolgens moet u een wachtwoord instellen voor de nieuwe gebruiker. Gebruik hiervoor deze opdracht:

$ sudo passwd newftpuser

Zorg ervoor dat het wachtwoord sterk is en langer is dan acht tekens.

Een nieuwe FTP-gebruiker maken

Nadat u de nieuwe gebruiker hebt gemaakt, moet u deze toevoegen aan de FTP-gebruikerslijst. Dit kan door het volgende commando in de terminal in te voeren:

$ echo "newftpuser" | sudo tee -a /etc/vsftpd/user_list

Ten slotte moet u een FTP-directorystructuur maken waarin u alle juiste machtigingen instelt. Om dit te doen, moet u de volgende reeks opdrachten in de terminal invoeren:

$ 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

Een FTP-directorystructuur maken

Inmiddels is uw FTP-server volledig functioneel en klaar voor gebruik. U kunt er nu verbinding mee maken met elke FTP-client zoals FileZilla. Zorg ervoor dat de FTP-client ook kan worden geconfigureerd om TLS-codering te gebruiken, aangezien deze wordt gebruikt om de FTP-transmissies te coderen.

Shell-toegang uitschakelen

Een ding dat u in gedachten moet houden bij het maken van een nieuwe FTP-gebruiker is dat, tenzij expliciet gespecificeerd, de gebruiker SSH-toegang tot de server heeft.

Als u shell-toegang van de gebruiker wilt uitschakelen, moet u een nieuwe shell maken die een bericht zal afdrukken waarin de gebruiker wordt geïnformeerd dat - "Dit account is beperkt tot alleen FTP-toegang.”

Om dit te doen, moet u de volgende opdracht in de terminal invoeren:

$ echo -e '#!/bin/sh\necho "Dit account is alleen beperkt tot FTP-toegang."' | sudo tee -a /bin/ftponly $ sudo chmod a+x /bin/ftponly

De bovenstaande opdracht maakt de shell /bin/ftponly aan en voert deze uit.

Vervolgens moet u de nieuwe shell toevoegen aan de lijst met geldige shells die zich in de /etc/schelpen het dossier. Dit wordt gedaan met behulp van het volgende commando:

$ echo "/bin/ftponly" | sudo tee -a /etc/shells

En als laatste stap hoef je alleen maar de gebruikersshell te wijzigen in /bin/ftponly met deze opdracht:

$ sudo usermod newftpuser -s /bin/ftponly

Ook voor toekomstige FTP-gebruikers kun je hetzelfde commando gebruiken om hun shell te wijzigen, zodat ze alleen FTP-toegang hebben.

Beste gameconsole-emulators voor Linux
Dit artikel bevat een lijst van populaire emulatiesoftware voor gameconsoles die beschikbaar is voor Linux. Emulatie is een softwarecompatibiliteitsla...
Beste Linux-distributies voor gaming in 2021
Het Linux-besturingssysteem heeft een lange weg afgelegd van zijn oorspronkelijke, eenvoudige, servergebaseerde uiterlijk. Dit besturingssysteem is de...
Hoe u uw gamesessie op Linux kunt vastleggen en streamen
In het verleden werd het spelen van games alleen als een hobby beschouwd, maar met de tijd zag de game-industrie een enorme groei in termen van techno...