|
316
|
ProFTPD / ProFTPD - Deutsch / Re: verschiedene Userrechte ?
|
am: 11. September 2006, 14:13:43
|
|
Moin,
ich kann nur dringend die Benutzung der Anweisung "DefaultRoot ~" empfehlen: die "beamt" jeden User in sein Verzeichnis und "sperrt" ihn dort ein. (chroot) Den Rest erledigst Du am besten über die normalen User/Gruppenrechte. sonst kannst Du nur noch mit "<Limit...>"-Blöcken in der proftpd.conf arbeiten - aber das ist generell für einzelne User nicht unbedingt zu empfehlen.
mfg. VolGas
|
|
|
|
|
317
|
ProFTPD / ProFTPD - Deutsch / Re: Login incorrect error 530
|
am: 11. September 2006, 14:05:01
|
|
Mit "DefaultRoot ~" wird jeder User automatisch in sein Home-Verzeichnis "gebeamt" und dort "eingesperrt" (chroot). Diese eine Anweisung ist also für alle User gleichzeitig richtig. Nur für "anonymous"-User wird dies anders geregelt.
Die äußerst wichtige Direktive "DefaultRoot" habe ich in Deiner proftpd.conf nicht gesehen.
mfg. VolGas
|
|
|
|
|
318
|
ProFTPD / ProFTPD - Deutsch / Re: Login incorrect error 530
|
am: 11. September 2006, 13:43:18
|
Hi, wenn das Programm solch miese und falsche Konfigurationsfiles schreibt, dann mache Dir lieber die Mühe selbst eines zusammenzustellen, das auch funktioniert. Das macht man in der Regel sowieso nur ein mal - ein GUI ist dann überflüssig. - Zugangsdefinitionen für einzelne User sollten nicht in der Konfigurationsdatei stehen.
Besser: lasse alle User, die FTP-Zugriff haben sollen, Mitglied in einer speziellen Gruppe (z.B. "ftpuser") sein und erlaube nur den Usern in dieser Gruppe den Zugang. - Es ist zwei mal ein "<Anonymous ...>"-Block vorhanden.
Es kann aber (wie beim Highlander) nur einen geben. - Das Teil erlaubt/verbietet dermaßen Befehe, daß man hinterher überhaupt
keinen (Über)Durchblick mehr hat.
Ich poste hier nun einmal eine "relativ" universelle proftpd.conf als Muster - vielleicht hat Stonki ja Lust, dies in seine eigenen -> Beispielkonfigurationenmit aufzunehmen... # Universelles Muster einer proftpd.conf # # Diese Konfigurationsdatei ist fuer den Standard-ProFTPD # als auch mit eincompilierten mySQL- und TLS-Support. # Einzelne Direktiven oder ganze Bereiche wurden durch ein # Kommentarzeichen ("#") deaktivert und sind bei Bedarf # wieder einfach zu reaktivieren. # # Dies ist nur ein Muster und entsprechend anzupassen - # eine Garantie gleich jedwelcher Art ist ausgeschlossen. # # 2006 Volker Gass
ServerType standalone PidFile /var/run/proftpd.pid
MaxInstances 30 MaxConnectionRate 4 SocketBindTight off UseReverseDNS off
RootRevoke on DefaultServer on MultilineRFC2228 on
<IfModule mod_delay.c> DelayEngine off DelayTable var/run/proftpd/proftpd.delay </IfModule>
<IfModule mod_tls.c> TLSProtocol SSLv23 </IfModule>
# Log-Formate definieren SystemLog NONE 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"
# -------------------------------------------- # globale Settings # --------------------------------------------
<Global> User nobody Group nogroup
# -------------------------------------------- # Login # --------------------------------------------
ServerIdent on "FTP server ready." DeferWelcome on DisplayConnect /etc/proftpd.msg
IdentLookups off UseFtpUsers off RequireValidShell off
TimeoutLogin 60 MaxLoginAttempts 3 MaxClientsPerHost 3
# -------------------------------------------- # Authentifikation: Standard # --------------------------------------------
<IfModule !mod_sql.c> AuthOrder mod_auth_unix.c <Limit LOGIN> DenyGroup !ftpuser </Limit> </IfModule>
# -------------------------------------------- # Authentifikation per SQL # --------------------------------------------
<IfModule mod_sql.c> AuthOrder mod_sql.c SQLConnectInfo db@localhost sqluser pass SQLUserInfo ftp userid passwd uid gid homedir NULL SQLAuthTypes Plaintext SQLAuthenticate users SQLMinUserUID 1024 SQLMinUserGID 555 SQLNegativeCache on </IfModule>
# -------------------------------------------- # TLS Standards # --------------------------------------------
<IfModule mod_tls.c> TLSEngine off TLSTimeoutHandshake 60 TLSRequired off TLSVerifyClient off TLSOptions NoCertRequest TLSLog /var/log/proftpd/tls.log # TLSCACertificateFile /etc/ssl/certs/CA.cert # CA-Cert optional </IfModule>
# -------------------------------------------- # Post-Login, Timeouts # --------------------------------------------
PassivePorts 49152 65534
DisplayLogin welcome.msg DisplayFirstChdir .message AllowOverride off
TimeoutIdle 600 # Inaktivitaet TimeoutNoTransfer 3600 # keine Datenuebertragung (Listing, File, ...) TimeoutStalled 300 # haengende Datenuebertragung TimeoutSession 7200 # Gesamtdauer einer Session
# -------------------------------------------- # Session # --------------------------------------------
DefaultRoot ~
DenyFilter \*.*/ ListOptions "-An +R" strict UseGlobbing off
ShowSymlinks on TimesGMT on
# -------------------------------------------- # Up- & Download # --------------------------------------------
AllowOverwrite on AllowRetrieveRestart on HiddenStores on DeleteAbortedStores on AllowStoreRestart off # widerspricht sonst "DeleteAbortedStores"
# -------------------------------------------- # Datei & Verzeichnis # --------------------------------------------
Umask 0017 0007
### hierher alle <Directory>-Bloecke
# -------------------------------------------- # Anonymous FTP # --------------------------------------------
# <Anonymous /home/ftp> # User ftp # Group ftpuser # UserAlias anonymous ftp # # MaxClients 5 # weniger anonymous-User als Reg.User # MaxRetrieveFileSize 512 Mb # max. Downloadgroesse # # # Geschwindigkeit von Up/Downloads # # auf 255 K/sec. beschraenken # TransferRate APPE,RETR,STOR,STOU 255 # # <Directory *> # HideNoAccess on # <Limit WRITE> # DenyAll # IgnoreHidden on # </Limit> # </Directory> # </Anonymous>
# -------------------------------------------- # Logging # --------------------------------------------
WtmpLog off TransferLog /var/log/proftpd/xferlog
# Record all logins ExtendedLog /var/log/proftpd/auth.log AUTH auth
# Logging file/dir access ExtendedLog /var/log/proftpd/access.log WRITE,READ write
# Paranoia logging level.... ExtendedLog /var/log/proftpd/paranoid.log ALL default
# fuer Debug: alle modMySQL Kommentare (Datenmenge immens!) #SQLLogFile /var/log/proftpd/sql.log </Global>
# -------------------------------------------- # Standard-Server # --------------------------------------------
DefaultAddress 192.168.1.100 ServerName meinserver.tld ServerAdmin hostmaster@meinserver.tld # MasqueradeAddress meinserver.dyndns.org
<IfModule mod_tls.c> TLSEngine on TLSRSACertificateFile /etc/ssl/certs/meinserver.tld.cert TLSRSACertificateKeyFile /etc/ssl/certs/meinserver.tld.key </IfModule>
# -------------------------------------------- # Virtuelle Hosts... # --------------------------------------------
<VirtualHost 192.168.1.101> ServerName server2.meinserver.tld ServerAdmin hostmaster@meinserver.tld
<IfModule mod_tls.c> TLSEngine on TLSRSACertificateFile /etc/ssl/certs/server2.meinserver.tld.cert TLSRSACertificateKeyFile /etc/ssl/certs/server2.meinserver.tld.key </IfModule> </VirtualHost> Die Blöcke "<IfModule mod_tls.c>" und "<IfModule mod_sql.c>" kannst Du bis einschließlich "</IfModule>" entfernen, ebenfalls alles einschließlich ab "<VirtualHost>". Sonst sind nur Pfade und IP-Adressen anzupassen. Die Erklärungen zu den einzelnen Direktiven findest Du auf Stonki's Site bei den -> Direktiven. Ich hoffe, Du kommst damit weiter. mfg. VolGas
|
|
|
|
|
320
|
ProFTPD / ProFTPD - Deutsch / Re: Timeout nach LIST-Befehl im Verbindungsaufbau
|
am: 08. September 2006, 16:17:21
|
Au weia, die beiden "Lieblingsthemen" wieder in Kombination... Erstens zu Verständnis: FTP benutzt je einen Port als Befehls- (Control: 21) und Datenkanal (Data: 20 passiv!). Du mußt also für den active Mode noch den Port 20 freigeben, aber besser die Highports und den passive Modus nutzen - spätestens im Internet wird das Dir Schwierigkeiten machen. Damit ich mir an dem selben Thema nicht immer wieder die Finger wund schreibe, möchte ich Dich hiermit zunächst an einen Artikel von mir verweisen: -> hierVielleicht siehst Du dann schon wesentlich klarer. mfg. VolGas
|
|
|
|
|
321
|
ProFTPD / ProFTPD - Deutsch / Re: Timeout nach LIST-Befehl im Verbindungsaufbau
|
am: 08. September 2006, 08:12:17
|
|
Hallo!
Warum passive-mode aus und was hat das mit dem LAN zu tun? Prinzipiell ist der passive mode der bessere - bitte ausschließlich benutzen.
Deine proftpd.conf sieht gut aus - Du scheinst Dich schon gut informiert zu haben. Zum Testen empfiehlt es sich jedoch immer zunächst ohne TLS zu arbeiten - bis alles funktioniert. (BTW: TLS im LAN???)
Die Art des Fehlverhaltens läßt wirklich darauf schließen, daß der FTP-Client keinen Datenkanal aufbauen kann. Hast Du eine Firewall oder eine NAT zwischen Server und Client?
Zu den Zugriffsrechten: diese müssen so angelegt sein, daß der User zumindest auf sein Homedir zugreifen darf - also den ganzen Pfad hindurch alle Verzeichnisse ein "x" - egal ob für den User selbst, einer Gruppe, der er angehört oder "any".
mfg. VolGas
|
|
|
|
|
322
|
ProFTPD / ProFTPD - Deutsch / Re: Upload funzt ned :(
|
am: 07. September 2006, 01:44:13
|
|
Hi,
Ganz einfach. Die Fehlermeldung "Permission denied" sagt eigentlich alles: der User hat in dem Verzeichnis, in dem er sich gerade befindet, nur Lese-, aber kein Schreibrecht.
Zu Deiner proftpd.conf: Es scheint alles Wichtige da zu sein, aber ist "DefaultRoot /var/www/ ftpuser" wirklich so gewollt? Normalerweise sollte mit "DefaultRoot ~" jeder User in sein eigenes Verzeichnis geschickt und zur Sicherheit dort "eingesperrt" werden, damit er nicht in den Datenbeständen anderer stöbern kann. Der Zusatz "ftpuser" ist überflüssig, da Du ja nur User dieser Gruppe zulässt.
"RequireValidShell on" ist auch sehr ungewöhnlich, das schaltet man nämlich in der Regel eben gerade aus. Wenn Du aber wirklich nur User mit Shellzugriff zulassen möchtest, dann ist die Anweisung natürlich ok.
mfg. VolGas
|
|
|
|
|
323
|
ProFTPD / ProFTPD - Deutsch / Re: Problem beim Einloggen. Passwort soll angeblich falsch sein.
|
am: 06. September 2006, 05:03:25
|
|
Ich habe eine ganze Weile nachdenken müssen, daß der ProFTPD aber ausgerechnet bei "mod_auth_pam" die Flügel steckt, obwohl das ja eigentlich gar nicht involviert sein sollte, hat mir ein Licht aufgehen lassen.
Schreibe in Deine proftpd.conf noch folgende Zeile: "AuthOrder mod_auth_unix.c" Mit speziell dieser Anweisung wird definiert, daß wirklich einzig und alleine das Auth-Modul "mod_auth_unix" verwendet wird.
Das bedeutet wohl aber auch, daß mit Deinem User "hau" etwas nicht stimmt, quasi nicht "hinhaut". Zumindest grenzt es das Problem ein - probiere es aus.
Noch etwas zum Thema Zugriffsrechte: Wenn Du ein Verzeichnis öffnen willst recht es nicht aus, daß dieses alleine entsprechende Zugriffsrechte bekommt. Auch das umgebende Verzeichnis (Parent-Dir) muß entsprechende Rechte haben und wiederum dessen Parent ... also der ganze Pfad muß zumindest mit dem "x"-Flag den Weg für den User dorthin freigeben.
Mit "apt-get upgrade" können sich Zugriffrechte ändern, wenn Du Pfade oder UID's/GID's benutzt, die die Debian-Maintainer für sich reserviert haben. Also Vorsicht!
mfg. VolGas
|
|
|
|
|
327
|
ProFTPD / ProFTPD - Deutsch / Re: Problem beim Einloggen. Passwort soll angeblich falsch sein.
|
am: 05. September 2006, 03:58:27
|
Hallo, Du bist hier schon im richtigen Forum. Dein Fehler ist eigentlich ganz leicht zu finden - Du hättest nur Dein Debug, das Du hier gepostet hast, einmal selber ansehen sollten: test2 chroot("~/"): No such file or directory error: unable to set default root directory Das Homeverzeichnis des Users gibt es nicht oder Zugriffrechte verhindern, daß darauf zugegriffen werden kann. Aus dem Grund wird vermutlich auch Deine Samba-Freigabe nicht mehr funktionieren. Mit "apt-get update" sollte man vorsichtig sein - insbesondere, wenn man mit seinen Installationen irgendwie den Debian-Maintainern in die Quere kommt. Es gilt gerade bei Serversystemen: Don't touch a running system! Deine proftpd.conf ist zwar ein wenig "wirr", aber auf den ersten Blick habe ich keinen Fehler gefunden. Mit "UseReverseDNS off" und "IdentLookups off"könntest Du den Login noch beschleunigen. mfg. VolGas
|
|
|
|
|
328
|
ProFTPD / ProFTPD - Deutsch / Re: TransferRate - Keine Auswirkung [ProFTP v1.30, SuSE 10.0]
|
am: 05. September 2006, 03:42:39
|
|
Hallo,
daß der ProFTPD scheinbar nicht auf "TransferRate" reagiert, liegt wohl daran, daß er ohne die Option "--disable-sendfile" compiliert wurde.
Die Kernelroutine "sendfile" liest Daten in den Kernelspace und sendet diese direkt von dort - das spart Zeit und Resourcen, da die Daten nicht noch einmal in den Userspace der Serverapplikation kopiert und dann dort versendet werden müssen.
Das erspart zwar Resourcen und Zeit, aber der ProFTPD hat dadurch keine Möglichkeit den Datenstrom zu kontrollieren. Die Option "--enable-buffer-size=8092" wird oft zusammen mit "--disable-sendfile" benutzt und reduziert den Plattenzugriff.
mfg. VolGas
|
|
|
|
|
329
|
ProFTPD / ProFTPD - Deutsch / Re: AuthUserFile problem :(
|
am: 04. September 2006, 15:38:21
|
1: Siehe ->Support->FAQ->ProFTPD startet nicht...2: die Funktion "crypt"... Das Standard-crypt ist allerdings sehr schwach und verschlüsselt nur 8 Zeichen. Es geht aber auch besser. Siehe "man 3 crypt": The glibc2 version of this function has the following additional features. If salt is a character string starting with the three characters "$1$" followed by at most eight characters, and optionally terminated by "$", then instead of using the DES machine, the glibc crypt function uses an MD5-based algorithm, and outputs up to 34 bytes, namely "$1$<string>$", where "<string>" stands for the up to 8 characters following "$1$" in the salt, followed by 22 bytes chosen from the set [a-zA-Z0-9./]. The entire key is significant here (instead of only the first 8 bytes). oder auch sehr schön beschrieben in der Doku von -> PHPWenn Du eine schnelle und einfache Lösung haben möchtest, dann kann ich Dir nur das mySQL-Modul empfehlen. Das Ganze z.B. mit phpMyAdmin eingepfegt geht ultra-schnell und ist ein Klacks... mfg. VolGas
|
|
|
|
|