Bei der Installation von Linux aus einer beliebigen Distribution ist standardmäßig nur der Root-Benutzer verfügbar. Aus Sicherheitsgründen ist jedoch keine FTP-Verbindung unter diesem Benutzer möglich. In diesem Artikel erklären wir, wie Sie schnell einen FTP-Server einrichten und einen Benutzer nur mit Linux-Konsolenbefehlen erstellen.
Schritt 1: Stellen Sie eine sichere Verbindung zu Ihrem Server her
Zunächst müssen Sie sich mit Ihrem Server verbinden. Dies können Sie über das SSH-Protokoll (Secure Shell) tun, das einen sicheren Fernzugriff ermöglicht. Anstatt sich als „root“ anzumelden, dem standardmäßigen Administratorkonto unter Linux, verwenden Sie für zusätzliche Sicherheit ein reguläres Konto und führen Sie Befehle über „sudo“ aus.
Schritt 2: FTP-Server installieren
Der nächste Schritt ist die Installation des FTP-Servers. In diesem Tutorial verwenden wir „proftpd“, einen beliebten Open-Source-FTP-Server.
Wenn Sie CentOS verwenden, installieren Sie zuerst das EPEL-Repository. Geben Sie die folgenden Befehle im Terminal ein:
sudo yum install epel-release
sudo yum install proftpd
Wenn Sie Debian oder Ubuntu verwenden, geben Sie einfach Folgendes ein:
sudo apt install proftpd
Schritt 3: Automatischen FTP-Start einrichten
Konfigurieren Sie den FTP-Server nach der Installation so, dass er bei jedem Server-Boot automatisch gestartet wird. Dies geschieht mit den folgenden Befehlen:
sudo systemctl start proftpd.service
sudo systemctl enable proftpd.service
Schritt 4: Richten Sie Ihre Firewall ein
Aus Sicherheitsgründen muss Ihre Firewall so konfiguriert sein, dass eingehende Verbindungen über TCP-Port 21 zugelassen werden. Der genaue Befehl hängt vom verwendeten Firewall-Verwaltungsprogramm ab. Für „iptables“:
sudo iptables -I INPUT -p tcp -m tcp --dport 21 -j ACCEPT
sudo systemctl save iptables
für „firewalld“:
sudo firewall-cmd --permanent --zone=public --add-port=21/tcp
sudo firewall-cmd –reload
für „nftables“ in Debian 11:
sudo nft add rule ip filter input tcp dport { 21 } ct state new accept
Vergessen Sie nach der Konfiguration der Firewall nicht, die Änderungen zu speichern, damit sie nach einem Neustart wirksam werden. Bei „iptables“ und „firewalld“ geschieht dies automatisch, bei „nftables“ müssen Sie die aktuellen Regeln manuell in einer Datei speichern, die beim Systemstart geladen wird.
Schritt 5: Beschränken Sie FTP-Benutzer auf ihr privates Verzeichnis
Standardmäßig können FTP-Benutzer über ihr privates Verzeichnis hinausgehen, was ein Sicherheitsrisiko darstellen kann. Um dies zu verhindern, fügen Sie der Datei „proftpd.conf“ die Zeile „DefaultRoot ~“ hinzu. Diese Zeile beschränkt Benutzer auf ihr privates Verzeichnis. Fügen Sie sie am Ende der Datei hinzu und starten Sie anschließend den FTP-Server neu:
sudo systemctl restart proftpd.service
Schritt 6: Neuen FTP-Benutzer erstellen
Sie können nun einen neuen FTP-Benutzer anlegen. Er benötigt keinen Command-Shell-Zugriff. Deaktivieren Sie ihn daher aus Sicherheitsgründen. Hier sind die Befehle dafür:
sudo useradd [username] -d /home/[username] -m -s /usr/sbin/nologin
sudo passwd [username]
Ersetzen Sie [Benutzername] durch den gewünschten Benutzernamen. Der Befehl „passwd“ bietet Ihnen die Möglichkeit, ein Passwort für den neuen Benutzer einzugeben.
Sie haben nun einen FTP-Server eingerichtet und einen neuen FTP-Benutzer auf dem Linux-Server erstellt. Achten Sie bei der Einrichtung stets auf die Sicherheit.