FTP-User für Apache-Webserverzugriff erstellen

Hat man einen Webserver auf Apache-Basis möchte man diesen auch mit ftp-Zugang erreichen. Dazu legen wir als erstes einen neuen User an und deaktivieren die shell, damit kein login via ssh möglich ist und weisen ihm den Zielordner zu.

sudo adduser ftpklaus -shell /bin/false -home /var/www/

Als FTP-Server verwende ich vsftpd welches einfach über die Paketquellen installiert werden kann:

sudo apt-get install vsftpd

Damit der Nutzer auch schreiben kann, muss die config-Datei von vsftp angepasst werden. Wichtig ist, dass die folgenden drei Parameter aktiv sind:


listen=YES
local_enable=YES
write_enable=YES

Das bedeutet, dass der Server aktiv ist, dass jeder mit einem Account auf dem Server sich mit den selben Daten einloggen kann und zuletzt, dass er auch Schreibrechte hat (ist meist default deaktiviert).

Zur Erhöhung der Sicherheit kann der Zugriff des ftp-users auf Verzeichnisse außerhalb seines Home-Verzeichnisses gesperrt werden. Dazu müssen folgende Zeilen in der config ergänzt werden:


chroot_local_user=YES
allow_writeable_chroot=YES

Ohne den zweiten Parameter würde ein Login fehlschlagen, da laut den Zugriffsregeln von chroot keine Schreibrechte gesetzt sein dürfen.

Für einen erfolgreichen login muss noch die Datei /etc/pam.d/vsftpd bearbeitet werden und folgende letzte Zeile auskommentiert werden mit einer #


#auth required pam_shells.so

Zum Abschluss noch ein Restart des FTP-Servers mit


sudo /etc/init.d/vsftpd restart

Damit der Nutzer auch Dateien modifizieren kann, muss er Schreibrechte im Ordner /var/www besitzen. Meistens gehört diese Gruppe root oder www-data. Wir können den Nutzer zur Grupppe www-data hinzufügen mit


sudo adduser ftpklaus www-data

Alternativ kann man auch den gesamten www-Ordner dem User ftpklaus übertragen:


sudo chown -R ftpklaus:ftpklaus /var/www

Viel Spass und Stay Tuned

Støertebeker

Veröffentlicht unter Debian/Ubuntu, Installationen, Linux, Tutorials

Schreibe einen Kommentar