Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux:ftp

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

linux:ftp [2014-04-05 11:42]
linux:ftp [2014-04-05 11:42] (aktuell)
Zeile 1: Zeile 1:
 +====== Einrichten des FTP-Servers ======
 +===== Sichere Verbindung per TLS =====
 +Verwendet wird //​proftpd//​. Die Konfiguration liegt unter ///​etc/​proftpd/​proftpd.conf//​.
 +Zunächst sollte der Name des Servers geändert und TSL aktiviert werden:
 +<code ini>
 +ServerName ​                     "​Stefan Macke"
  
 +<​IfModule mod_tls.c>​
 +TLSEngine ​                              on
 +TLSLog ​                                 /​var/​log/​tls.log
 +TLSProtocol ​                            ​SSLv23
 +TLSOptions ​                             NoCertRequest
 +TLSRSACertificateFile ​                  /​etc/​ssl/​certs/​proftpd.cert.pem
 +TLSRSACertificateKeyFile ​               /​etc/​ssl/​certs/​proftpd.key.pem
 +TLSVerifyClient ​                        off
 +TLSRequired ​                            off
 +</​IfModule>​
 +</​code>​
 +
 +===== FTP-Benutzer =====
 +Dann können die Benutzer eingerichtet werden, die sich mit dem Server verbinden können sollen:
 +<code ini>
 +# chroot für alle User der Gruppe ftpusers
 +DefaultRoot ​                    ~ ftpusers
 +
 +# Login nur von Mitgliedern der Gruppe ftpusers erlauben
 +<Limit LOGIN>
 +DenyGroup ​                      ​!ftpusers
 +</​Limit>​
 +
 +# Root-Login verbieten und keine gültige Shell verlangen (in /​etc/​shells)
 +<​Global>​
 +RootLogin ​                      off
 +RequireValidShell ​              off
 +</​Global>​
 +
 +# Speed erhoehen
 +UseReverseDNS ​                  off
 +IdentLookups ​                   off
 +</​code>​
 +
 +===== Logging =====
 +Zuletzt kann noch das Logging aktiviert werden (hier ist schon eine Logdatei zur Auswertung mit //awstats// integriert):​
 +<code ini>
 +# Logging Formate
 +LogFormat ​                      ​default "%h %l %u %t \"​%r\"​ %s %b"
 +LogFormat ​                      auth "%v [%P] %h %t \"​%r\"​ %s"
 +LogFormat ​                      write "%h %l %u %t \"​%r\"​ %s %b"
 +LogFormat ​                      ​awstats "%t %h %u %m %f %s %b"
 +
 +# Logging aktivieren
 +
 +# alle logins
 +ExtendedLog ​            /​var/​log/​ftp_auth.log AUTH auth
 +# file/dir Zugriff
 +ExtendedLog ​            /​var/​log/​ftp_access.log WRITE,READ write
 +# awstats log
 +ExtendedLog ​            /​var/​log/​awstats_ftp READ,WRITE awstats
 +</​code>​
 +
 +===== Berechtigungen =====
 +Wichtig ist jetzt noch das korrekte Einrichten der Benutzer. Grundsätzlich werden die Benutzer als [[grundkonfiguration#​benutzerverwaltung_und_dateirechte|Systembenutzer]] ohne Shell angelegt, deren Home-Verzeichnis unter ///​home/​ftp//​ liegt, und auf das nur sie selbst Zugriff haben (700). Das Verzeichnis ///​home/​ftp//​ benötigt jedoch 750, da die Benutzer sonst nicht in ihr Home-Verzeichnis wechseln können.
 +
 +Die globale **Umask** sollte wie folgt gesetzt werden, damit neue Dateien und Verzeichnisse alleine dem entsprechenden Benutzer gehören. Auch dieser kann die Dateien jedoch niemals ausführen, da //proftpd// die Umask von 666 berechnet. Eine Berechtigung zum Ausführen muss explizit per //chmod// gesetzt werden.
 +<code ini>​Umask ​                          ​077 ​ 077</​code>​
 +
 +Lädt ein Benutzer Webseiten hoch (Home unter ///​var/​www//​),​ so benötigt der [[apache2|Webserver]],​ der unter //​www-data.ftpusers//​ läuft, hierauf Zugriff (Lesen und Ausführen). Dies wird durch eine Direktive für das entsprechende Verzeichnis gewährleistet: ​
 +<code ini>
 +<​Directory /​var/​www/​fussballtipp>​
 +  Umask                          027 027
 +</​Directory>​
 +</​code>​
 +
 +Soll der Benutzer Dateien nicht als ausführbar kennzeichnen bzw. überhaupt keine Berechtigungen setzen können, ist noch folgender Befehl nötig (z.B. auf Directory-Ebene) um das Kommando //chmod// zu deaktivieren:​
 +<code ini>
 +<Limit SITE_CHMOD>​
 +        DenyAll
 +</​Limit>​
 +</​code>​
linux/ftp.txt · Zuletzt geändert: 2014-04-05 11:42 (Externe Bearbeitung)