Eine kurze Analyse der vsftpd-Dienstkonfiguration unter Linux (anonym, Benutzer, virtueller Benutzer)

Eine kurze Analyse der vsftpd-Dienstkonfiguration unter Linux (anonym, Benutzer, virtueller Benutzer)

vsftpd Übersicht

vsftpd ist die Abkürzung für „very secure FTP daemon“ (sehr sicherer FTP-Daemon) und Sicherheit ist eines seiner wichtigsten Features. vsftpd ist der Name eines Servers, der auf einem UNIX-ähnlichen Betriebssystem läuft. Er kann auf Systemen wie Linux, BSD, Solaris, HP-UNIX usw. ausgeführt werden. Es handelt sich um eine völlig kostenlose Open-Source-FTP-Serversoftware, die viele Funktionen unterstützt, die andere FTP-Server nicht unterstützen.

Merkmale

Sehr hohe Sicherheitsanforderungen, Bandbreitenbeschränkungen, gute Skalierbarkeit, Möglichkeit zur Erstellung virtueller Benutzer, Unterstützung für IPv6, hohe Geschwindigkeit

Klein und leicht, sicher und einfach zu bedienen.

Der Unterschied zwischen ftp, sftp, vsftp und vsftpd

FTP ist die Abkürzung für File Transfer Protocol, eine Reihe von Standardprotokollen für die Übertragung von Dateien im Internet unter Verwendung des Client/Server-Modells. Es gehört zur Anwendungsschicht des Netzwerkübertragungsprotokolls.

sftp ist die Abkürzung für SSH File Transfer Protocol, ein sicheres Dateiübertragungsprotokoll;

vsftp ist eine FTP-Serversoftware, die auf Unix-ähnlichen Systemen verwendet wird und auf der GPL basiert. Der vollständige Name lautet Very Secure FTP. Wie der Name schon sagt, besteht die ursprüngliche Absicht des Compilers in der Sicherheit des Codes.

vsftpd ist die Abkürzung für Very Secure FTP Daemon. Sicherheit ist eines seiner wichtigsten Features. vsftpd ist der Name eines Servers, der auf einem UNIX-ähnlichen Betriebssystem läuft. Er kann auf Systemen wie Linux, BSD, Solaris, HP-UNIX usw. ausgeführt werden. Es handelt sich um eine völlig kostenlose Open-Source-FTP-Serversoftware.

1. Anonymer Benutzer meldet sich bei FTP an (die Datei befindet sich in /var/ftp)

1. Installieren Sie den vsftpd-Dienst

[root@localhost ~]# yum install vsftpd -y ##Dienst installieren[root@localhost ~]# cd /etc/vsftpd/ ##Dieses Verzeichnis ist das Konfigurationsdateiverzeichnis[root@localhost vsftpd]# ls
ftpusers Benutzerliste vsftpd.conf vsftpd_conf_migrate.sh
[root@localhost vsftpd]# systemctl start vsftpd ##Starte den vsftpd-Dienst[root@localhost vsftpd]# systemctl stop firewalld.service ##Schließe die Firewall[root@localhost vsftpd]# setenforce 0 ##Schließe die erweiterte Funktion[root@localhost vsftpd]# ls /var/ftp/ ##Wechsle in das FTP-Verzeichnis pub
[root@localhost vsftpd]# echo "this is test" > /var/ftp/test.txt ##Fügen Sie eine Textdatei hinzu

2. Verwenden Sie die cmd der Testmaschine, um auf den vsftpd-Dienst zuzugreifen (cmd stellt eine Verbindung zu ftp her) und Dateien herunterzuladen

C:\Benutzer\xy007>ftp 192.168.13.140 ##Greifen Sie auf den FTP-Dienst zu und stellen Sie eine Verbindung zu 192.168.13.140 her.
220 (im Vergleich zuFTPd 3.0.2)
200 Immer im UTF8-Modus.
Benutzer (192.168.13.140:(keine)): ftp ##Anonymer Zugriff 331 Bitte geben Sie das Passwort an.
Passwort: 
##Passwort ohne Wagenrücklauf 230 Anmeldung erfolgreich.
ftp> pwd ##Den aktuellen Pfad anzeigen 257 "/" ##Stammverzeichnis des FTP-Dienstes ftp> ls -a ##Den Inhalt des Verzeichnisses anzeigen 200 PORT-Befehl erfolgreich. Erwägen Sie die Verwendung von PASV.
150 Hier kommt die Verzeichnisliste.
.
..
Kneipe
test.txt ##Datei im Serververzeichnis 226, senden OK.
ftp: 25 Bytes in 0,00 Sek. empfangen, 25000,00 KB/Sek.
ftp> get test.txt ##Laden Sie die Datei auf den lokalen Computer herunter (laden Sie sie auf die Festplatte herunter, auf die Sie zugreifen. Sie können zum Herunterladen zwischen Festplatten wechseln, z. B.:)
200 PORT-Befehl erfolgreich. Erwägen Sie die Verwendung von PASV.
150 Öffnet eine Datenverbindung im Binärmodus für test.txt (13 Bytes).
226 Übertragung abgeschlossen.
ftp: 13 Bytes in 0,00 Sek. empfangen, 13000,00 KB/Sek.
ftp> put test1.txt ##Erstellen Sie eine test1.txt auf dem Laufwerk C und laden Sie sie auf Linux hoch. 200 PORT-Befehl erfolgreich. Erwägen Sie die Verwendung von PASV.
550 Zugriff verweigert. ##Dies ist die Konfiguration des vsftpd-Dienstes in Linux mit eingeschränkten Berechtigungen (anonym, Benutzer, virtueller Benutzer). 

3. Ändern Sie die vsftpd-Konfigurationsdatei, um die maximalen Berechtigungen für den anonymen Zugriff zu aktivieren

[root@localhost ftp]# cd /etc/vsftpd/
[root@localhost vsftpd]# vim vsftpd.conf
##Suchen und aktivieren Sie die folgenden Optionen in der Konfigurationsdatei anonymous_enable=YES ##Aktivieren Sie anonyme Benutzer local_enable=YES ##Lokale Benutzer write_enable=YES ##Schreibberechtigung local_umask=022 ##Reverse-Maske für lokale Benutzer anon_upload_enable=YES ##Upload-Berechtigung aktiviert anon_mkdir_write_enable=YES ##Aktivieren Sie die Erstellung von Verzeichnissen und den Schreibzugriff anon_other_write_enable=YES ##Fügen Sie eine weitere Berechtigung zum Umbenennen und Löschen hinzu [root@localhost vsftpd]# systemctl restart vsftpd ##Starten Sie den Dienst neu [root@localhost vsftpd]# cd /var/ftp/ ##Wechseln Sie zum FTP-Verzeichnis [root@localhost ftp]# ls
pub test.txt
[root@localhost ftp]# ls -l
Gesamtdosis 4
drwxr-xr-x. 2 root root 6 31. Oktober 2018 pub
-rw-r--r--. 1 root root 13. November 5 19:14 test.txt
[root@localhost ftp]# chmod 777 pub ##Geben Sie dem Pub-Verzeichnis die maximalen Berechtigungen. Beachten Sie, dass Sie dem FTP-Verzeichnis nicht direkt die maximalen Berechtigungen erteilen können.

4. Verwenden Sie die cmd der Testmaschine, um auf FTP zuzugreifen und lokale Dateien auf Linux hochzuladen

C:\Benutzer\xy007>ftp 192.168.13.140 ##Greifen Sie auf den FTP-Dienst zu und stellen Sie eine Verbindung zu 192.168.13.140 her.
220 (im Vergleich zuFTPd 3.0.2)
200 Immer im UTF8-Modus.
Benutzer(192.168.13.140:(keine)): ftp
331 Bitte geben Sie das Passwort an.
Passwort:
230 Anmeldung erfolgreich.
ftp> cd pub/ ##Zum Pub-Verzeichnis wechseln 250 Verzeichnis erfolgreich geändert.
ftp> put test1.txt ##Datei hochladen 200 PORT-Befehl erfolgreich. Erwägen Sie die Verwendung von PASV.
150 OK, um Daten zu senden.
226 Übertragung abgeschlossen.
ftp: 13 Bytes in 0,03 s 0,41 kb/s gesendet.
ftp> von ##Exit 221 Auf Wiedersehen.
##Sie können Dateien auch mit „delete“ löschen

5. Hochgeladene Dateien anzeigen

[root@localhost ftp]# cd /var/ftp/pub ##Zum Pub-Verzeichnis wechseln [root@localhost pub]# ls ##Die hochgeladene Datei test1.txt anzeigen

Zweitens: Melden Sie sich mit dem lokalen Benutzer bei FTP an (die Datei befindet sich im Home-Verzeichnis).

Verhindern Sie, dass lokale Benutzer auf Systemverzeichnisse zugreifen, und beschränken Sie den Zugriff ausschließlich auf die Home-Verzeichnisse der Benutzer.

1. Systembenutzer anlegen

[root@localhost pub]# useradd zhangsan ##Benutzer erstellen und Benutzerkennwort festlegen [root@localhost pub]# passwd zhangsan
[root@localhost pub]# useradd lisi ##Benutzer erstellen und Benutzerkennwort festlegen [root@localhost pub]# passwd lisi

2. Verwenden Sie cmd auf der Testmaschine, um sich mit dem Benutzer bei ftp anzumelden

C:\Benutzer\xy007>ftp 192.168.13.140 ##Melden Sie sich beim FTP-Dienst an und stellen Sie eine Verbindung zu 192.168.13.140 her.
220 (im Vergleich zuFTPd 3.0.2)
200 Immer im UTF8-Modus.
Benutzer (192.168.13.140:(keine)): zhangsan ##Lokalen Benutzer 331 verwenden. Bitte geben Sie das Passwort an.
Passwort:
230 Anmeldung erfolgreich.
ftp> ls / ##Zeigen Sie die Verzeichnisdateien unter user/ an und gehen Sie direkt zum Stammverzeichnis des Systems. 200 PORT-Befehl erfolgreich. Erwägen Sie die Verwendung von PASV.
150 Hier kommt die Verzeichnisliste.
/bin
/Stiefel
/Entwickler
/usw
/heim
/lib
/lib64
/Medien
/Min.
/opt
/proc
/Wurzel
/laufen
/sbin
/srv
/sys
/tmp
/usr
/var
226 Verzeichnis senden OK.
ftp: 126 Bytes in 0,02 Sek. empfangen, 7,88 KB/Sek.

3. Verhindern Sie, dass lokale Benutzer auf Systemverzeichnisse zugreifen, und beschränken Sie den Zugriff nur auf die Home-Verzeichnisse der Benutzer

[root@localhost pub]# vim /etc/vsftpd/vsftpd.conf ##Konfigurationsdatei ändern chroot_local_user=YES ##Modul aktivieren, um lokalen Zugriff auf Systemverzeichnisse einzuschränken allow_writeable_chroot=YES ##Schreibberechtigungen hinzufügen [root@localhost pub]# systemctl restart vsftpd ##Dienst neu starten

4. Testen Sie den cmd-Zugriff des Computers

C:\Benutzer\xy007>ftp 192.168.13.140 ##Zugriff auf FTP
Verbinden Sie sich mit 192.168.13.140.
220 (im Vergleich zuFTPd 3.0.2)
200 Immer im UTF8-Modus.
Benutzer (192.168.13.140:(keine)): zhangsan ##Benutzer zhangsan
331 Bitte geben Sie das Passwort an.
Passwort:
230 Anmeldung erfolgreich.
ftp> cd / ##Zum Stammverzeichnis des Systems wechseln 250. Verzeichnis erfolgreich geändert.
ftp> ls ## Überprüfen Sie, ob es sich noch im Home-Verzeichnis des Benutzers befindet. Auf andere Verzeichnisse des Systems kann nicht zugegriffen werden, was die Sicherheit erhöht. 200 PORT-Befehl erfolgreich. Erwägen Sie die Verwendung von PASV.
150 Hier kommt die Verzeichnisliste.
226 Verzeichnis senden OK.
Legen Sie fest, ob bestimmten Benutzern der FTP-Zugriff gestattet oder verweigert werden soll.
1. Legen Sie die Benutzerliste fest (standardmäßig verweigert), um bestimmten Benutzern die Anmeldung bei FTP zu erlauben oder zu verweigern
[root@localhost pub]# cd /etc/vsftpd/ ##Wechseln Sie zum Verzeichnis der vsftpd-Konfigurationsdateien [root@localhost vsftpd]# vim vsftpd.conf

userlist_enable=YES ##Bestätigen Sie, dass die Benutzerliste aktiviert ist [root@localhost vsftpd]# ls
ftpusers Benutzerliste vsftpd.conf vsftpd_conf_migrate.sh
[root@localhost vsftpd]# echo "zhangsan" >> user-list ##Fügen Sie den Benutzer zhangsan zur Liste hinzu [root@localhost vsftpd]# systemctl restart vsftpd ##Starten Sie Dienst 2 neu und testen Sie ihn mit dem Testcomputer cmd C:\Users\xy007>ftp 192.168.13.140
Verbinden Sie sich mit 192.168.13.140.
220 (im Vergleich zuFTPd 3.0.2)
200 Immer im UTF8-Modus.
Benutzer (192.168.13.140:(keine)): zhangsan ##Anmelden mit zhangsan 530. Berechtigung verweigert.
Fehler bei der Anmeldung. ##Anmeldung bei FTP direkt ablehnen>

3. Stellen Sie die Liste so ein, dass nur

[root@localhost ftp]# cd /etc/vsftpd/
[root@localhost vsftpd]# vim vsftpd.conf ##vsftpd-Konfigurationsdatei konfigurieren userlist_enable=YES
userlist_deny=NO ##Liste zum Zulassen von [root@localhost vsftpd] hinzufügen# systemctl restart vsftpd ##Dienst neu starten

4. Testmaschine cmd test

C:\Benutzer\xy007>ftp 192.168.13.140
Verbinden Sie sich mit 192.168.13.140.
220 (im Vergleich zuFTPd 3.0.2)
200 Immer im UTF8-Modus.
Benutzer (192.168.13.140:(keine)): zhangsan ##Verwenden Sie zhangsan, um sich bei 331 anzumelden. Bitte geben Sie das Passwort an.
Passwort:
230 Anmeldung erfolgreich. ##Anmeldung erfolgreich ftp> von
221 Auf Wiedersehen.

C:\Benutzer\xy007>ftp 192.168.13.140
Verbinden Sie sich mit 192.168.13.140.
220 (im Vergleich zuFTPd 3.0.2)
200 Immer im UTF8-Modus.
Benutzer (192.168.13.140:(keine)): lisi ##Anmelden mit lisi 530. Berechtigung verweigert.
Fehler bei der Anmeldung. ##Fehler bei der Anmeldung

3. Erstellen Sie per FTP ein virtuelles Benutzerkonto (die Datei befindet sich im Home-Verzeichnis des Systembenutzers vuser).

1. Erstellen Sie eine virtuelle Benutzerdatei

[root@localhost vsftpd]# cd /etc/vsftpd/ ##Zum Konfigurationsdateiverzeichnis wechseln [root@localhost vsftpd]# vim vuser ##Eine virtuelle Benutzerdatei erstellen lisa ##Benutzername mit ungerader Zahl 123123 ##Passwort mit gerader Zahl tom
123123

2. Konvertieren Sie Datenbankdateien und legen Sie Sicherheitsberechtigungen fest

[root@localhost vsftpd]# db_load -T -t hash -f vuser vuser.db ##Konvertiert vuser in eine Datenbankdatei ##T-Konvertierung, t-Typ, f angegebene Datei [root@localhost vsftpd]# chmod 600 vuser ##Aus Sicherheitsgründen nicht andere sehen lassen, Berechtigungen festlegen [root@localhost vsftpd]# chmod 600 vuser.db

3. Bearbeiten Sie das PAM-Authentifizierungsmodul, um die Anmeldung virtueller Benutzer zu unterstützen

[root@localhost vsftpd]# useradd -d /opt/vuser -s /sbin/nologin vuser 
##Erstellen Sie einen Systembenutzer, geben Sie das Home-Verzeichnis an und melden Sie sich nicht an [root@localhost vsftpd]# vim /etc/pam.d/vsftpd.vu ##Kompilieren Sie das PAM-Authentifizierungsmodul auth erforderlich pam_userdb.so db=/etc/vsftpd/vuser ##Identifizieren Sie die konvertierte Datenbankdatei account erforderlich pam_userdb.so db=/etc/vsftpd/vuser ##Stellen Sie eine Verbindung zum Kennwortdienst her

4. Aktivieren Sie virtuelle Benutzer und verwenden Sie das PAM-Modul zur Authentifizierung der Anmeldung

[root@localhost vsftpd]# vim vsftpd.conf ##Konfigurationsdatei ändern##Das große G kommt in die letzte Zeile#pam_service_name=vsftpd ##Kommentar##Fügen Sie die folgenden drei Zeilen hinzu guest_enable=YES ##Gastbenutzerzugriff aktivieren guest_username=vuser ##Den Vuser-Benutzernamen verwenden pam_service_name=vsftpd.vu ##pam module [root@localhost vsftpd]# systemctl restart vsftpd ##Dienst neu starten

5. Testmaschine cmd test

C:\Benutzer\xy007>ftp 192.168.13.140
Verbinden Sie sich mit 192.168.13.140.
220 (im Vergleich zuFTPd 3.0.2)
200 Immer im UTF8-Modus.
Benutzer (192.168.13.140:(keine)): tom ##Anmeldung mit virtuellem Benutzer tom 331. Bitte geben Sie das Passwort an.
Passwort:
230 Anmeldung erfolgreich.
ftp> put test1.txt ##Datei hochladen 200 PORT-Befehl erfolgreich. Erwägen Sie die Verwendung von PASV.
150 OK, um Daten zu senden.
226 Übertragung abgeschlossen.
ftp: 13 Bytes in 0,00 Sek. gesendet, 13000,00 KB/Sek.
##Die Berechtigung zum Anzeigen der Datei beträgt 600
[root@localhost vsftpd]# ls -l /opt/vuser/
Gesamtdosis 4
-rw------. 1 vuser vuser 13. November 5 22:51 test1.txt

6. Individuelle Benutzerkonfiguration, Festlegen der Berechtigungen zum Hochladen von Dateien 644

[root@localhost vsftpd]# vim vsftpd.conf 
##Fügen Sie user_config_dir=/etc/vsftpd/vu_dir zur letzten Zeile des großen G hinzu. ##Individueller Benutzerkonfigurationsordner [root@localhost vsftpd]# mkdir vu_dir ##Erstellen Sie einen Ordner [root@localhost vsftpd]# cd vu_dir/
[root@localhost vu_dir]# vim lisa ##Erstellen Sie ein Benutzerprofil im Konfigurationsordner anon_umask=022 ##Geben Sie die Berechtigungen für hochgeladene Dateien an [root@localhost vu_dir]# systemctl restart vsftpd ##Starten Sie den Dienst neu

7. Melden Sie sich als Benutzer lisa bei der cmd des Testcomputers an und überprüfen Sie die Berechtigungen zum Hochladen von Dateien

C:\Benutzer\xy007>ftp 192.168.13.140
Verbinden Sie sich mit 192.168.13.140.
220 (im Vergleich zuFTPd 3.0.2)
200 Immer im UTF8-Modus.
Benutzer (192.168.13.140:(keine)): lisa ##Melden Sie sich mit lisa bei 331 an. Bitte geben Sie das Passwort an.
Passwort:
230 Anmeldung erfolgreich.
ftp> put 111.txt ##Datei hochladen 200 PORT-Befehl erfolgreich. Erwägen Sie die Verwendung von PASV.
150 OK, um Daten zu senden.
226 Übertragung abgeschlossen.
ftp: 13 Bytes in 0,00 Sek. gesendet, 13000,00 KB/Sek.

[root@localhost vu_dir]# ls -l /opt/vuser/ ##Zeigen Sie die Gesamtnutzung der hochgeladenen Dateiberechtigungen an 8
-rw-r--r--. 1 vuser vuser 13. November 5 22:58 111.txt ##lisa Upload-Dateiberechtigungen 644
-rw------. 1 vuser vuser 13. November 5 22:51 test1.txt ##Tom lädt Dateiberechtigungen 600 hoch

Zusammenfassen

Oben ist die vom Herausgeber eingeführte vsftpd-Dienstkonfiguration (anonym, Benutzer, virtueller Benutzer) in Linux. Ich hoffe, sie ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • LINUX Centos7 Build vsftpd-Dienst
  • Detaillierte Schritte zur Installation und Konfiguration von vsftpd unter Linux (empfohlen)
  • Erstellen eines Image-Servers auf der Linux-Plattform mit nginx und vsftpd
  • Kompilieren und installieren Sie den vsftpd-Server unter Linux (lokale Benutzerauthentifizierungsmethode).
  • Einige Fragen zu vsftpd unter Linux-Server
  • Tutorial zur Installation und Konfiguration von Nginx auf einem Linux-Server
  • Tutorial zur Installation und Erstkonfiguration eines Linux CentOS-Servers
  • Schritte zum Konfigurieren der MongoDB-Umgebung auf einem Linux-Server

<<:  Axios storniert Anfragen und vermeidet doppelte Anfragen

>>:  Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.15

Artikel empfehlen

Acht Möglichkeiten zur Implementierung von Kommunikation in Vue

Inhaltsverzeichnis 1. Komponentenkommunikation 1....

Tutorial zur Installation und Konfiguration der Version MySQL 5.7.23

Ich habe drei Stunden gebraucht, um MySQL selbst ...

Tutorial und Praxis zu den virtuellen Speichereinstellungen unter Linux

Was ist virtueller Speicher? Zunächst werde ich e...

Was bei der Migration von MySQL auf 8.0 zu beachten ist (Zusammenfassung)

Passwortmodus PDO::__construct(): Der Server hat ...

Sprechen Sie kurz über MySQL Left Join Inner Join

Vorwort Ich war kürzlich damit beschäftigt, ein K...

Abkürzung für HTML DOCTYPE

Wenn Ihr DOCTYPE wie folgt ist: Code kopieren Der ...

Detaillierte Konfiguration der drahtlosen Netzwerkkarte unter Ubuntu Server

1. Stecken Sie die WLAN-Karte ein und prüfen Sie ...

Beispiel für eine Methode zum Festlegen von MySQL-Fremdschlüsseln

1. Methode zum Festlegen des Fremdschlüssels 1. U...

Lösung für FEHLER 1054 (42S22) beim Ändern des Passworts in MySQL 5.7

Ich habe MySQL 5.7 neu installiert. Beim Anmelden...

Führen Sie die folgenden Schritte aus, damit Docker Images abrufen kann

1. Docker Pull zieht das Image Wenn Sie zum Abruf...

HTML-Sprachenzyklopädie

123WORDPRESS.COM--HTML超文本标记语言速查手册<!-- --> !D...

MySQL 5.7.10 Installations- und Konfigurations-Tutorial unter Windows

MySQL bietet zwei verschiedene Versionen für unte...

HTML/CSS (der erste Leitfaden, den Anfänger unbedingt lesen sollten)

1. Die Bedeutung von Webstandards verstehen - War...