[LINUX Server] FTP Server erstellen und Rechte setzen.

11/17/2015 20:14 Neo2k4#1
Hi all,

ich wollte Euch einen recht simplen Weg zeigen, wie ihr auf eurem Linux Root/vRoot
einen FTP Server samt User erstellt, der ausschliesslich auf den von Euch festgelegten Verzeichniss zugreifen kann, ich erkläre euch das mit dem ProFTPD-Serve, da ich mehrere Jahre zufrieden mit dem Programm bin.

Vorwort:
Um mit dem Root-Server zu kommunizieren benötigt Ihr Putty, anschliessend verbindet Ihr euch mit Root rechten (user root) zu eurem Server
Ich arbeite in diesem Tutorial mit dem texteditor nano (apt-get install nano)


Los gehts:

Schritt 1:
Als erstes solltet Ihr wie immer sicherstellen, dass Euer Server auf dem neusten Stand ist sowie eure installierten Programme:
Code:
apt-get update
apt-get upgrade
ist alles aktuell, geht es gleich weiter mit der Installation des Servers.

Schritt 2:
Code:
apt-get install proftpd
Je nach der eingestellten Sprache auf Eurem root die Installation mit "Y" oder "J" bestätigen und bei dem nächsten Abfrage Standalone auswählen.

Schritt 3:
Nun sollten wir erstmal eine Shell hinzufügen und zwar verbietet diese den ssh-Zugriff für den folgenden FTP Benutzer.
Dazu müsst ihr eure shells Datei bearbeiten, das machen wir ganz einfach mit dem folgenden befehl (in meinem Fall benutze ich den texteditor "nano":

Code:
nano /etc/shells
dort solltet ihr folgendes stehen haben:

Code:
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
ganz unten fügt Ihr nun folgende Zeile hinzu, diese shell untersagt dem Nutzer den ssh Zugriff, sodass dieser wirklich nur über FTP (port 21) Verbindung aufbauen kann:

Code:
/bin/false
Speichert die shells-Datei mit STRG+X ab und bestätigt mit Enter.

Schritt 4:
Nun konfigurieren wir ProFTPD so, dass dieser den Benutzer untersagt sich frei durch den ganzen Server zu stöbern indem wir die Konfigurationsdatei bearbeiten, dazu folgenden Befehl eingeben:

Code:
nano /etc/proftpd/proftpd.conf
sucht nun die folgende Zeile und löscht die Raute "#":
Code:
# DefaultRoot                     ~
Schritt 5:
Jetzt fehlt uns noch das Verzeichniss auf welches der User zugriff haben soll. Bei mir ist es /home/test solltet ihr ein verzeichniss erstellen wollen, müsst ihr diesen folgender Maßen erstellen:
Code:
cd /home
mkdir test
dadurch navigiert ihr in euer Home verzeichniss des Servers und legt dort einen Ordner namens test an.

Schritt 6:
So nun folgt der User, der den FTP Zugriff verdient hat ;)
Wir legen mit dem folgenden Befehl einen neuen User namens test an , definieren seinen home-Verzeichniss und untersagen ihm den ssh zugriff

Code:
useradd test -d /home/test -s /bin/false
Nun setzen wir noch ein Password für den User test fest:
Code:
passwd test
Nach der Eingabe des passwd befehlst müsst ihr nur noch ein Password festlegen und diesen bestätigen.

Zur Allerletzt verpassen wir dem user die schreibrechte für das Verzeichniss:
Code:
-chown test /home/test
Das wars, ich hoffe ich konnte Euch weiter helfen, viel Spaß mit dem FTP Server.

Lg. Neo2k4