wiki:dienste:vsftpd

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
wiki:dienste:vsftpd [2011/03/28 16:02] – [ftpwho für vsftpd] wikiadminwiki:dienste:vsftpd [2015/01/13 11:19] (aktuell) – [Bug bei bei chroot] wikiadmin
Zeile 1: Zeile 1:
 +~~BARCODE~class=barcode_right~size=S~~ 
 +
 +====== Verschlüsseltes FTP ======
 +
 +
 +Da FTP ein unsicheres Protokoll ist, um Daten zu übertragen, gibt es hier ein HowTo, um den Login und den Datentransfer zu verschlüsseln
 +
 + 
 ===== Installation ===== ===== Installation =====
  
Zeile 29: Zeile 37:
 <file>sudo chmod go+r /var/log/vsftpd.log</file> <file>sudo chmod go+r /var/log/vsftpd.log</file>
  
-===== Konfigurationsdateien =====+===== Konfigurationsdateien ===== 
    
 /etc/vsftpd.conf /etc/vsftpd.conf
  
-<filebash vsftpd.conf>+<file bash vsftpd.conf>
 # daemon started from an initscript. # daemon started from an initscript.
 listen=YES listen=YES
Zeile 110: Zeile 118:
 </file> </file>
  
-===== Skript zur erstellung eines FTP-Benutzers =====+====== Sicherheitseinstellung ======
  
-In /usr/local/bin ein Skript mit folgendem Inhalt erstellen +Da Filezilla ab Version 3.5.3 die Cipher-Suite verändert hatmuss man die Konfiguration von vsftpd anpassen. Hierzu einfach folgende Zeile an die Konfigurtion anhängen
-<file bash ftpuser_create> +
-# Kleines Programm zum erstellen eines ftp-Nutzers mit mount des Verzeichnisses fuer_alle +
-  +
-# Prüfenob das Script als root aufgerufen wurde +
-if [ `id -u` -ne "0"+
-then +
-        echo "You must be root" +
-        exit 1 +
-fi +
- +
-if [ $# = "1"+
-then +
-        user=$1 +
-        # PrÃüft, ob der eingegeben User schon existiert +
-        if ! id $user>/dev/null 2>&+
-        then +
-                #User wird angelegt +
-                if sudo useradd -d /home/$user -m -s /bin/false $user +
-                then +
-                        echo "Nutzer $user angelegt" +
-                        # Passwort generieren +
-                        password=`cat /dev/urandom | tr -cd 'a-z0-9' | head -c8` +
-                        # Abfrage, ob generiertes Passwort verwendet werden soll +
-                        echo -e "Wollen Sie das Passwort $password verwende? [J] \c" +
-                        read fragepasswd +
-                        case $fragepasswd in +
-                                j|J|""+
-                                printf "%s\n%s" $password $password > $passwordfile +
-                                sudo passwd $user < $passwordfile > /dev/null 2>&+
-                                sudo rm $passwordfile +
-                                ;; +
-                                *) +
-                                sudo passwd $user +
-                        esac +
- +
-                        # Abfrage, ob Passwort gespeichert werden soll +
-                        echo -e "Wollen Sie das Passwort speichern? [J] \c" +
-                        read fragespeicher +
-                        case $fragespeicher in +
-                                j|J|""+
-                                printf "%s\t%s\n" $user $password >> $speicherpfad +
-                                ;; +
-                                *) +
-                        esac+
  
-                        # Verzeichnis wird ür den Mountpoint angelegt +<file bash vsftpd.conf
-                        sudo mkdir /home/$user/fuer_alle +ssl_ciphers=HIGH
-                        # Anlegen des oeffentlVerzeichnisses fuer Apache +
-                        sudo mkdir /home/$user/public_html +
-                        sudo chown $user.$user /home/$user/public_html +
-                        # Eintrag in die fstab wird geschrieben, +
-                        # damit automatisch gemountet wird +
-                        echo -e "/home/fuer_alle\t/home/$user/fuer_alle\text3\tbind\t0\t0" >> /etc/fstab +
-                        # Mountpoint einhängen +
-                        /bin/mount -a +
-                fi +
-        else +
-                echo -e "Nutzer gibt es schon" +
-        fi +
-else +
-        echo -e "Falsche Parameter" +
-fi+
 </file> </file>
  
-===== Script zum löschen eines FTP-Benutzers ===== +====== Skripte für FTP ======
-in /usr/local/bin ein Skript mit folgendem Inhalt erstellen +
  
-<file bash ftpuser_del> +Das Leben ist zu kurz zum tippen, deshalb hier ein paar Scripte, um mir ein paar Arbeiten zu erleichtern
-#!/bin/bash+
  
-user=$1+  * Skript zur erstellung eines FTP-Benutzers findet man [[wiki:skripte:ftpuser_create|hier]]. 
 +  * Script zum löschen eines FTP-Benutzers findet man [[wiki:skripte:ftpuser_del|hier]]. 
 +  * ftpwho für vsftpd findet man [[wiki:skripte:ftpwho|hier]].
  
-#Pruefen, ob das Progamm als root gestartet wurde +====== Bug bei bei chroot ======
-if [ ! `id -u` "0"+
-then +
-        echo "You must be root" +
-        exit 1 +
-fi+
  
-#Pruefen, ob Benutzer existiert 
-if ! id -u $user>/dev/null 2>&1 
-then 
-        echo -e "$user existiert nicht\nProgramm beendet" 
-        exit 1 
-fi 
  
-#Mountpunkt umountendamit beim loeschen nicht fuer_alle geloescht wird +In der Version 2.3.5die bei ubuntu und Debian standardmäßig ausgeliefert wird, gibt es einen Bug [[http://bugs.debian.org/656900|#656900]].
-if ! umount /home/$user/fuer_alle>/dev/null 2>&+
-then +
-        echo -e "umount nicht erfolgreich\nProgramm beendet" +
-        exit 1 +
-fi+
  
-#Nutzer wird mit home-Verzeichnis geloescht +Dieser ist bekannt und wurde in der Version 3 behoben. Leider wird Version 3 nicht bei Debian und Ubuntu ausgeliefert.
-if ! userdel -r $user +
-then +
-        echo -e "userdel nicht erfolgreich\nProgramm beendet" +
-        exit 1 +
-fi+
  
-#Eintrag fuer den Nutzer aus der fstab loeschen +Zum fixen den Bugs eignet sich folgende Methoden
-cp /etc/fstab /etc/fstab.orig +
-if ! grep -v "/home/$user/fuer_alle" /etc/fstab > /etc/fstab.neu +
-then +
-        echo -e "schreiben der fstab.neu fehlgeschlagen\nProgramm beendet" +
-        exit 1 +
-fi+
  
-mv /etc/fstab.neu /etc/fstab+<file> 
 +echo "deb http://ftp.cyconet.org/debian wheezy-updates main non-free contrib" >> /etc/apt/sources.list.d/wheezy-updates.cyconet.list 
 +aptitude update 
 +aptitude install -t wheezy-updates debian-cyconet-archive-keyring vsftpd  
 +echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf 
 +/etc/init.d/vsftpd restart
 </file> </file>
  
-===== ftpwho für vsftpd =====+Und alles läuft wieder wie gewünscht 
 + 
 +Ausführliche Anleitung findet man auf der Seite [[http://ftp.cyconet.org/instructions]].
  
-Skript findet man [[wiki:skripte:ftpwho|hier]]+======  Quellen ====== 
 +  * [[http://wiki.ubuntuusers.de/vsftpd]] 
 +  * [[http://ibohm.blogspot.de/2012/02/gnutls-error-12-tls-fatal-alert-has.html]] 
 +  * [[http://www.redirect301.de/filezilla-gnutls-error-12.html]] 
 +  * [[http://blog.waja.info/2013/05/13/500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/]]
  • wiki/dienste/vsftpd.1301320974.txt.gz
  • Zuletzt geändert: 2011/03/28 16:02
  • von wikiadmin