Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| server:pure-ftpd [2007/04/28 22:06] – st | server:pure-ftpd [2014/04/25 15:58] (aktuell) – [Benutzerdatenbank von pure-ftpd verwalten] st | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== Pure-ftpd ====== | ||
| + | Vorteil: sperrt standardmäßig User ein (chroot) | ||
| + | ===== Links ===== | ||
| + | * [[http:// | ||
| + | * **[[http:// | ||
| + | * [[http:// | ||
| + | |||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | |||
| + | |||
| + | Ansonsten ist in [[http:// | ||
| + | |||
| + | |||
| + | |||
| + | ===== Verwaltung ===== | ||
| + | |||
| + | |||
| + | ==== grafische Oberflächen ==== | ||
| + | |||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | |||
| + | ==== Stammverzeichnis für alle FTP-Benutzer ==== | ||
| + | |||
| + | * Gruppe und Benutzer für [[netzwerke: | ||
| + | useradd -g ftpgroup -d /dev/null -s / | ||
| + | * Verzeichnis für [[netzwerke: | ||
| + | chown ftpuser: | ||
| + | |||
| + | |||
| + | ==== Benutzerdatenbank von pure-ftpd verwalten ==== | ||
| + | |||
| + | Das Handbuch ('' | ||
| + | |||
| + | < | ||
| + | NAME | ||
| + | | ||
| + | |||
| + | SYNTAX | ||
| + | | ||
| + | -D/-d home_directory [-c gecos] | ||
| + | [-t download_bandwidth] [-T upload_bandwidth] | ||
| + | [-n max number_of_files] [-N max_Mbytes] | ||
| + | [-q upload_ratio] [-Q download_ratio] | ||
| + | [-r <allow client host>/< | ||
| + | [-i <allow local host>/< | ||
| + | [-y <max number of concurrent sessions> | ||
| + | [-z < | ||
| + | | ||
| + | -D/-d home_directory -[c gecos] | ||
| + | [-t download_bandwidth] [-T upload_bandwidth] | ||
| + | [-n max_number_of_files] [-N max_Mbytes] | ||
| + | [-q upload_ratio] [-Q download_ratio] | ||
| + | [-r <allow client host>/< | ||
| + | [-i <allow local host>/< | ||
| + | [-y <max number of concurrent sessions> | ||
| + | [-z < | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | </ | ||
| + | |||
| + | Die Optionen werden (etwas ungewöhlich) durch ein wrapper-Script geparst: ''/ | ||
| + | |||
| + | === Benutzerdatenbank aktivieren === | ||
| + | |||
| + | Die unterstützten Mechanismen sind in ''/ | ||
| + | < | ||
| + | 65unix -> ../ | ||
| + | 70pam -> ../ | ||
| + | </ | ||
| + | Soll pure-ftpd lediglich mit der pureDB laufen, dann müssen diese Symlinks gelöscht werden und ein neuer Symlink mit Ziel auf '' | ||
| + | |||
| + | === Benutzer auflisten === | ||
| + | pure-pw list [USER] | ||
| + | |||
| + | |||
| + | === FTP-Benutzer hinzufügen === | ||
| + | |||
| + | - Heimatverzeichnis des neuen Benutzer erzeugen (kann auch automatisch erfolgen wenn CreateHomeDir=yes gesetzt ist): < | ||
| + | chgrp ftpgroup / | ||
| + | - Benutzer zur pure-ftpd-Datenbank hinzufügen:< | ||
| + | | ||
| + | Ein komplexeres Beispiel: Der Benutzer Adam mit der Benutzer-ID " | ||
| + | |||
| + | Neue Benutzer lassen sich auch über Script hinzufügen: | ||
| + | |||
| + | Beispiel: Die Datei Passwortdatei " | ||
| + | |||
| + | < | ||
| + | geheimes Passwort | ||
| + | geheimes Passwort | ||
| + | </ | ||
| + | nun leiten wir die Datein auf die Standardeingabe (stdin) von pure-pw: <code bash> | ||
| + | |||
| + | |||
| + | === FTP-Benutzer entfernen === | ||
| + | |||
| + | <code bash> | ||
| + | pure-pw userdel BENUTZER | ||
| + | pure-pw mkdb | ||
| + | </ | ||
| + | |||
| + | === FTP-Benutzer - Passwort ändern === | ||
| + | |||
| + | <code bash> | ||
| + | pure-pw passwd BENUTZER | ||
| + | pure-pw mkdb | ||
| + | </ | ||
| + | |||
| + | === Benutzer-Datenbank aktualisieren === | ||
| + | |||
| + | :!: Nach jeder Änderung muss IMMER dieser Befehl ausgeführt werden (vorher werden keine Änderungen aktiv): | ||
| + | |||
| + | pure-pw mkdb | ||
| + | |||
| + | ==== Standard-Vorgaben ändern (Debian) ==== | ||
| + | |||
| + | Zwischen standalone oder daemon wechseln ([[debian: | ||
| + | |||
| + | dpkg-reconfigure pure-ftpd-common | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== Pure-FTPd starten ===== | ||
| + | |||
| + | manueller Start: | ||
| + | |||
| + | / | ||
| + | |||
| + | |||
| + | ==== Wichtige Startparameter ==== | ||
| + | |||
| + | |||
| + | ^ Parameter ^ Wirkung ^ | ||
| + | | -u [UID] | login nicht unter UID (Zahlenwert) erlauben | | ||
| + | | -c [Zahl] | max. clients, Standard ist 50 | | ||
| + | | -C [Zahl] | max. connections per ip | | ||
| + | | -A | chroot everyone but root | | ||
| + | | -B | start in background (daemonize) | | ||
| + | | -k percentage -> Disallow upload if the partition is more than percentage full | | ||
| + | | -w | Enable support for the FXP protocol (for non-anonymous users only) | | ||
| + | | -E | Only allow authenticated login. Anonymous users are prohibited. | | ||
| + | | -Y 1 | SSL aktiviert, pem-Datei wird als / | ||
| + | |||
| + | ==== nur Anonyme Benutzer erlauben ==== | ||
| + | |||
| + | FIXME (Übersetzung) | ||
| + | |||
| + | * -e -> Only allow anonymous users to log in. leave out if usual users should login | ||
| + | * -i -> Disallow upload for anonymous users | ||
| + | * -s -> Don' | ||
| + | |||
| + | Anonymous users are authenticated in any of three ways: | ||
| + | |||
| + | - The user logs in as " | ||
| + | - The user connects to an IP address which resolves to the name of a directory in / | ||
| + | |||
| + | Note that ftpd allows remote users to log in as root if the password is known and -u not used. | ||
| + | |||
| + | ===== TLS aktivieren ===== | ||
| + | |||
| + | - Zertifikat und Schlüssel in einer .pem-Datei nach ''/ | ||
| + | - echo 1 > / | ||
| + | - / | ||
| + | |||
| + | Mit -Y 2 oder -Y 3 kann man TLS durchdrücken, | ||
| + | |||
| + | ===== Konfiguration durch Textdateien per pure-ftpd-wrapper ===== | ||
| + | |||
| + | Zumindest auf Debian ist es möglich per Textdateien die Startparameter von pure-ftpd zu beeinflussen. Die Konfigurationsdateien liegen unterhalb / | ||
| + | |||
| + | Das [[programmiersprachen: | ||
| + | |||
| + | |||
| + | In ''/ | ||
| + | < | ||
| + | AllowAnonymousFXP' | ||
| + | AllowDotFiles' | ||
| + | AllowUserFXP' | ||
| + | AltLog' | ||
| + | AnonymousBandwidth' | ||
| + | AnonymousCanCreateDirs' | ||
| + | AnonymousCantUpload' | ||
| + | AnonymousOnly', | ||
| + | AnonymousRatio' | ||
| + | AntiWarez' | ||
| + | AutoRename' | ||
| + | Bind' => ['-S %s', \& | ||
| + | BrokenClientsCompatibility' | ||
| + | CallUploadScript' | ||
| + | ChrootEveryone' | ||
| + | CreateHomeDir' | ||
| + | CustomerProof' | ||
| + | Daemonize' | ||
| + | DisplayDotFiles' | ||
| + | DontResolve' | ||
| + | ForcePassiveIP' | ||
| + | FortunesFile' | ||
| + | IPV4Only' | ||
| + | IPV6Only' | ||
| + | KeepAllFiles' | ||
| + | LimitRecursion' | ||
| + | LogPID' | ||
| + | MaxClientsNumber' | ||
| + | MaxClientsPerIP' | ||
| + | MaxDiskUsage' | ||
| + | MaxIdleTime' | ||
| + | MaxLoad' | ||
| + | MinUID' | ||
| + | NATmode' | ||
| + | NoAnonymous' | ||
| + | NoChmod' | ||
| + | NoRename' | ||
| + | NoTruncate' | ||
| + | PassivePortRange' | ||
| + | PerUserLimits' | ||
| + | ProhibitDotFilesRead' | ||
| + | ProhibitDotFilesWrite' | ||
| + | Quota' => ['-n %d: | ||
| + | SyslogFacility' | ||
| + | TLS' => ['-Y %d', \& | ||
| + | TrustedGID' | ||
| + | TrustedIP' | ||
| + | Umask' => ['-U %s: | ||
| + | UserBandwidth' | ||
| + | UserRatio' | ||
| + | ' | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ===== Pureftpd ohne Capabilities unter Debian Lenny selbst bauen ===== | ||
| + | |||
| + | Auf einem virtuellen Server mit OpenVZ oder virtuozzo scheitert der Start von pure-ftpd mit folgender Fehlermeldung: | ||
| + | < | ||
| + | pure-ftpd: (?@?) [ERROR] Unable to switch capabilities : Operation not permitted | ||
| + | </ | ||
| + | |||
| + | Um das Problem zu lösen muss pure-ftpd ohne capabilities kompiliert werden. | ||
| + | |||
| + | |||
| + | **Vorbereitungen**: | ||
| + | |||
| + | - mkdir tmp | ||
| + | - cd tmp | ||
| + | - Source-Paket mit folgendem Befehl herunterladen: | ||
| + | - < | ||
| + | - < | ||
| + | - die Zeile beginnend mit " | ||
| + | - abspeichern (" | ||
| + | - cd .. | ||
| + | - Das Paket muss neu gebaut werden: < | ||
| + | - den folgenden Fehler< | ||
| + | Entpack-Befehl »dpkg-source -x pure-ftpd_1.0.21-11.4.dsc« fehlgeschlagen. | ||
| + | Überprüfen Sie, ob das Paket »dpkg-dev« installiert ist.</ | ||
| + | - Falls gleich eine Fehlermeldung wegen fehlender Abhängigkeiten kommt: < | ||
| + | - erneut dpkg-buildpackage aufrufen | ||
| + | - cd .. | ||
| + | - Nun können wir das Paket Installieren (Dateinamen können anders lauten!): < | ||
| + | - pure-ftpd starten: < | ||