So konfigurieren Sie den FTP -Server auf Debian 9 Stretch Linux

So konfigurieren Sie den FTP -Server auf Debian 9 Stretch Linux

Zielsetzung

Das Ziel ist es, den FTP -Server auf Debian 9 Stretch Linux zu installieren und zu konfigurieren, sodass sowohl anonymer als auch lokaler Benutzerzugriff ermöglicht werden können.

Betriebssystem- und Softwareversionen

  • Betriebssystem: - Debian 9 Stretch
  • Software: - vsftpd Version 3.0.3

Anforderungen

Privilegierter Zugang zu

Schwierigkeit

MITTEL

Konventionen

  • # - erfordert, dass gegebene Linux -Befehle mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mit Verwendung von ausgeführt werden können sudo Befehl
  • $ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können

Anweisungen

Das folgende Tutorial erläutert, wie der FTP -Server installiert und konfiguriert wird vsftpd Dämon. Außerdem werden verschiedene Konfigurationen erörtert, damit anonyme Benutzer sowie lokale Benutzer Schreib- oder schreibgeschützte Zugriff aufnehmen können.

VSFTPD -Installation

Beginnen wir mit VSFPTD Server und FTP -Client -Installation:

# APT Installieren Sie VSFTPD FTP 

Standardmäßig wird der VSFTPD-Server konfiguriert, damit Systembenutzer mit schreibgeschütztem Zugriff auf ihre Heimverzeichnisse zugreifen können. Im Folgenden finden Sie eine Standard -VSFTPD -Konfigurationsdatei /etc/vsftpd.Conf:



listen = no listen_ipv6 = yes anonymous_enable = no local_enable = yes dirmessage_enable = yes use_localtime = yes xferlog_enable = yes connect_from_port_20 = yese-cchroot_dir =/var/run/vsftpd/leer pam_service = vsftpd rsa_cert_file_name = vsftpd rsa_cert_file/service = vsftpd rsa_cert_file/service/sa- Schlangenöl.PEM RSA_PRIVATE_KEY_FILE =/etc/ssl/privat/ssl-cert-snakeoiloil.Schlüssel ssl_enable = nein 

Wie bereits erwähnt, wird die obige Konfigurationsdatei nur einen schreibgeschützten Zugriff auf einen in den aufgeführten Systembenutzer gewährt /etc/passwd Datei. Verwenden ftp Befehl und versuchen, mithilfe von Benutzername und Kennwort eines der lokalen Systembenutzer eine Verbindung herzustellen:

# FTP Localhost mit Localhost verbunden. 220 (VSFTPD 3.0.3) Name (localhost: root): linuxconfig 331 Bitte geben Sie das Passwort an. Passwort: 230 Login erfolgreich. Remote -Systemtyp ist Unix. Verwenden des Binärmodus, um Dateien zu übertragen. FTP> Datei einlegen.Txt lokal: Datei.Txt remote: Datei.TXT 200 EPRT -Befehl erfolgreich. Erwägen Sie die Verwendung von EPSV. 550 Erlaubnis abgelehnt. 

Wenn Sie nur von Ihren lokalen Benutzern schreibgeschützt sind, sind Sie fertig.



Benutzerzugriff zulassen

So fügen Sie Schreibzugriff für alle lokalen Benutzerbenutzer -Benutzer -Konzentrationen für Systeme hinzu oder fügen Sie die folgende Strophe hinzu write_enable = ja. Die neue Konfigurationsdatei besteht aus:

listen = no listen_ipv6 = yes anonymous_enable = no local_enable = yes dirmessage_enable = yes use_localtime = yes xferlog_enable = yes connect_from_port_20 = yese-cchroot_dir =/var/run/vsftpd/leer pam_service = vsftpd rsa_cert_file_name = vsftpd rsa_cert_file/service = vsftpd rsa_cert_file/service/sa- Schlangenöl.PEM RSA_PRIVATE_KEY_FILE =/etc/ssl/privat/ssl-cert-snakeoiloil.Schlüssel ssl_enable = nein write_enable = ja 

Starten Sie als nächstes Ihre VSFTPD neu:

# Systemctl Neustart VSFTPD 

Einen neuen Test mit durchführen ftp Befehl zur Bestätigung des Schreibzugriffs:

# FTP Localhost mit Localhost verbunden. 220 (VSFTPD 3.0.3) Name (localhost: root): linuxconfig 331 Bitte geben Sie das Passwort an. Passwort: 230 Login erfolgreich. Remote -Systemtyp ist Unix. Verwenden des Binärmodus, um Dateien zu übertragen. FTP> Datei einlegen.Txt lokal: Datei.Txt remote: Datei.TXT 200 EPRT -Befehl erfolgreich. Erwägen Sie die Verwendung von EPSV. 150 OK, um Daten zu senden. 226 Übertragung vollständig. FTP> LS 200 EPRT -Befehl erfolgreich. Erwägen Sie die Verwendung von EPSV. 150 Hier kommt die Verzeichnisliste. -rw ------- 1 1000 1000 0 Jun 07 12:45 Datei.TXT 226 Verzeichnis Senden Sie OK. 


Erlauben Sie nur bestimmten Benutzern

Im Moment ermöglicht unser FTP -Server den Zugriff auf jeden in den definierten Systembenutzer /etc/passwd Datei. Damit nur bestimmte Benutzer sich anmelden können, können wir die folgenden Zeilen in unsere Konfigurationsdatei einbeziehen:

Benutzerlist_file =/etc/vsftpd.Benutzerliste userlist_enable = ja 

Das oben obene ermöglicht eine vordefinierte Benutzerliste, in der ein Benutzer in innerhalb des Benutzers aufgeführt ist /etc/vsftpd.Benutzerliste (Ein Benutzername pro Zeile) hat Zugriff auf die FTP, die verweigert wird, während alle anderen Systembenutzer sich anmelden können. Lassen Sie uns eine neue erstellen /etc/vsftpd.Benutzerliste Benutzerliste, die aus einem einzelnen Benutzer besteht Linuxconfig:

# echo linuxconfig> /etc /vsftpd.Benutzerliste 

Starten Sie den VSFTPD -Server neu:

# Systemctl Neustart VSFTPD 

Einen neuen Test mit durchführen ftp Befehl zur Bestätigung des verweigerten Zugriffs auf FTP Server für Linuxconfig Benutzer:

# FTP Localhost mit Localhost verbunden. 220 (VSFTPD 3.0.3) Name (localhost: root): Linuxconfig 530 Erlaubnis abgelehnt. Fehler bei der Anmeldung. ftp> 

Wenn Sie sich jedoch nur mit den in innerhalb definierten Benutzern anmelden können /etc/vsftpd.Benutzerliste, Fügen Sie die folgende Konfigurationsoption hinzu userlist_deny = nr In Ihre VSFTPD -Konfigurationsdatei /etc/vsftpd.Conf. Unten ist unser Strom /etc/vsftpd.Conf Konfigurationsdatei:

listen = no listen_ipv6 = yes anonymous_enable = no local_enable = yes dirmessage_enable = yes use_localtime = yes xferlog_enable = yes connect_from_port_20 = yese-cchroot_dir =/var/run/vsftpd/leer pam_service = vsftpd rsa_cert_file_name = vsftpd rsa_cert_file/service = vsftpd rsa_cert_file/service/sa- Schlangenöl.PEM RSA_PRIVATE_KEY_FILE =/etc/ssl/privat/ssl-cert-snakeoiloil.Schlüssel ssl_enable = no write_enable = ja Benutzerlist_file =/etc/vsftpd.UserList UserList_Enable = Ja UserList_deny = Nein 


Anonymous erlauben

Zu diesem Zeitpunkt ermöglichen wir auch schreibgeschützte Zugriff durch anonyme Benutzer. Lassen Sie uns ein neues Verzeichnis erstellen, das als Stammverzeichnis für anonyme Benutzer -EG verwendet wird. /var/ftp. Zu Testzwecken können wir auch eine willkürliche Testdatei innerhalb der Datei einlegen /var/ftp:

# Mkdir/var/ftp/ # Chmod 555/var/ftp/ # Chown FTP.ftp/var/ftp/ # touch/var/ftp/anonymous.TXT 

Fügen Sie außerdem die folgenden Linien in die Zeilen ein /etc/vsftpd.Conf Konfigurationsdatei zum Definieren eines anonymen Home -Verzeichnisses und des anonymen Zugriffs:

anon_root =/var/ftp anonymous_enable = yes 

Optional hinzufügen no_anon_password = ja LINE, um VSFTPD zu unterweisen, dass sich anonymer Benutzer sich automatisch ohne das Kennwort anmelden kann. Da wir jetzt die Benutzerliste definiert haben, müssen wir auch die hinzufügen anonym Benutzer zur Liste:

# echo anonymous >> /etc /vsftpd.Benutzerliste # cat /etc /vsftpd.Benutzerliste LinuxConfig Anonymous 

Starten Sie Ihren FTP -Server normalerweise neu und führen Sie eine Gültigkeit Ihrer aktuellen Konfiguration durch:

# Systemctl Neustart VSFTPD 

Testen Sie anonyme Login:

# FTP Localhost mit Localhost verbunden. 220 (VSFTPD 3.0.3) Name (localhost: root): anonymous 230 Login erfolgreich. Remote -Systemtyp ist Unix. Verwenden des Binärmodus, um Dateien zu übertragen. FTP> LS 200 EPRT -Befehl erfolgreich. Erwägen Sie die Verwendung von EPSV. 150 Hier kommt die Verzeichnisliste. -RW-R-R-- 1 0 0 0 Jun 07 13:29 Anonymous.TXT 226 Verzeichnis Senden Sie OK. ftp> 

Im Folgenden finden Sie unsere aktuelle VSFTPD -Konfigurationsdatei:

listen = no listen_ipv6 = yes anonymous_enable = no local_enable = yes dirmessage_enable = yes use_localtime = yes xferlog_enable = yes connect_from_port_20 = yese-cchroot_dir =/var/run/vsftpd/leer pam_service = vsftpd rsa_cert_file_name = vsftpd rsa_cert_file/service = vsftpd rsa_cert_file/service/sa- Schlangenöl.PEM RSA_PRIVATE_KEY_FILE =/etc/ssl/privat/ssl-cert-snakeoiloil.Schlüssel SSL_Enable = no write_enable = us userlist_file =/etc/vsftpd.UserList UserList_Enable = Ja UserList_deny = Nein anon_root =/var/ftp anonymous_enable = yes no_anon_password = yes 


Aktivieren Sie den anonymen Schreibzugriff

Als nächstes ermöglichen wir den anonymen Benutzer, Dateien hochzuladen und neue Verzeichnisse und mehr zu erstellen. Erstellen Sie dazu ein neues Verzeichnis hochladen innerhalb der /var/ftp Verzeichnis:

# Mkdir/var/ftp/hochladen # Chown FTP.ftp/var/ftp/upload/ 

Fügen Sie anschließend die folgenden Zeilen in Ihre VSFTPD -Konfigurationsdatei hinzu:

anon_upload_enable = yes anon_other_write_enable = yes anon_mkdir_write_enable = yes 

Starten Sie Ihren Server neu:

# Systemctl Neustart VSFTPD 

Nach dem Neustart kann der anonyme Benutzer Dateien hochladen, und erstellen Sie Verzeichnisse umbenennen Dateien:

# FTP Localhost mit Localhost verbunden. 220 (VSFTPD 3.0.3) Name (localhost: root): anonymous 230 Login erfolgreich. Remote -Systemtyp ist Unix. Verwenden des Binärmodus, um Dateien zu übertragen. FTP> LS 200 EPRT -Befehl erfolgreich. Erwägen Sie die Verwendung von EPSV. 150 Hier kommt die Verzeichnisliste. -RW-R-R-- 1 0 0 0 Jun 07 13:29 Anonymous.TXT DRWXR-XR-X 2 108 112 4096 Jun 07 13:57 Upload 226 Verzeichnis Senden OK. FTP> CD hochladen 250 Verzeichnis erfolgreich verändert. FTP> Datei einlegen.Txt lokal: Datei.Txt remote: Datei.TXT 200 EPRT -Befehl erfolgreich. Erwägen Sie die Verwendung von EPSV. 150 OK, um Daten zu senden. 226 Übertragung vollständig. FTP> LS 200 EPRT -Befehl erfolgreich. Erwägen Sie die Verwendung von EPSV. 150 Hier kommt die Verzeichnisliste. -rw ------- 1 108 112 0 Jun 07 13:57 Datei.TXT 226 Verzeichnis Senden Sie OK. FTP> Datei umbenennen.Txt neu.Txt 350 bereit für rnto. 250 erfolgreich umbenennen. FTP> LS 200 EPRT -Befehl erfolgreich. Erwägen Sie die Verwendung von EPSV. 150 Hier kommt die Verzeichnisliste. -rw ------- 1 108 112 0 Jun 07 13:57 Neu.TXT 226 Verzeichnis Senden Sie OK. ftp> 

Im Folgenden finden Sie unsere endgültige VSFTPD -Konfigurationsdatei:

listen = no listen_ipv6 = yes anonymous_enable = no local_enable = yes dirmessage_enable = yes use_localtime = yes xferlog_enable = yes connect_from_port_20 = yese-cchroot_dir =/var/run/vsftpd/leer pam_service = vsftpd rsa_cert_file_name = vsftpd rsa_cert_file/service = vsftpd rsa_cert_file/service/sa- Schlangenöl.PEM RSA_PRIVATE_KEY_FILE =/etc/ssl/privat/ssl-cert-snakeoiloil.Schlüssel SSL_Enable = no write_enable = us userlist_file =/etc/vsftpd.UserList UserList_enable = yes userlist_deny = no anon_root =/var/ftp anonymous_enable = yes no_anon_password = yes anon_upload_enable = yes anon_other_write_enable = yes anon_mkdir_write_enable = yes 

Anhang

Fehlermeldung:

# FTP Localhost mit Localhost verbunden. 220 (VSFTPD 3.0.3) Name (Localhost: Root): Anonymous 500 oops: VSFTPD: Verweigert, mit beschreibbarem Root in chroot () Login fehlgeschlagen zu laufen. ftp> 

Das obige gibt an, dass Ihre anon_root Verzeichnis ist beschreibbar. Lösung besteht darin, es schreibgeschützt zu machen. Beispiel:

# Chmod 555 /var /ftp 

Versuchen Sie alternativ, die folgende Zeile in Ihre VSFTPD -Konfigurationsdatei hinzuzufügen:

degly_writable_chroot = yes 

Verwandte Linux -Tutorials:

  • Setup FTP Server unter Linux einrichten
  • Dinge zu installieren auf Ubuntu 20.04
  • So richten Sie VSFTPD auf Debian ein
  • So richten Sie FTP/SFTP -Server und Client auf Almalinux ein
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • Linux -Konfigurationsdateien: Top 30 am wichtigsten
  • Dinge zu installieren auf Ubuntu 22.04
  • Linux -Download
  • FTP -Clientliste und -installation auf Ubuntu 22.04 Linux…