Titel: ProFTPD + mod_sql Beitrag von: Iblun am 02. Mai 2004, 16:45:37 Hallo zusammen,
ich benutze den Debian Proftpd 1.2.5rc1 mit dem mysql mod. Das funktioniert auch alles hervorragend. Ich habe jetzt nur ein kleines Verständnissproblem. In der Datenbanktabelle zum User wird ja eine uid und eine gid angegeben. Wenn ich z.B. einen Login mit dem Namen "www" vergebe und die uid und gid in der Datenbank auf 33 (www-data/www-group) einstelle, sollte dann der User der sich mit dem Login "www" einloggt dann als User/Gruppe 33 Dateien auf dem FTP bearbeiten/anlegen ? Oder wofür ist der Eintrag in der DB überhaupt ? Titel: Re: ProFTPD + mod_sql Beitrag von: stonki am 02. Mai 2004, 20:12:52 Zitat von: "Iblun" Hallo zusammen, ich benutze den Debian Proftpd 1.2.5rc1 mit dem mysql mod. Das funktioniert auch alles hervorragend. Ich habe jetzt nur ein kleines Verständnissproblem. In der Datenbanktabelle zum User wird ja eine uid und eine gid angegeben. Wenn ich z.B. einen Login mit dem Namen "www" vergebe und die uid und gid in der Datenbank auf 33 (www-data/www-group) einstelle, sollte dann der User der sich mit dem Login "www" einloggt dann als User/Gruppe 33 Dateien auf dem FTP bearbeiten/anlegen ? Oder wofür ist der Eintrag in der DB überhaupt ? jupp, GENAU dafür. Mit irgendeiner Uid, Gid muss ProFTP ja laufen. Titel: ProFTPD + mod_sql Beitrag von: Anonymous am 02. Mai 2004, 20:25:12 Ok, dann hab ich das verstanden. In der Konfig wird ja als Standard user nobody und nogroup eingetragen.
Aber egal was ich in der DB als User und Gruppe eintrage , die Dateien die ich per FTP hochlade gehören immer nobody und nogroup. D.h. der FTP Server nimmt nicht den User/Gruppe an den ich dem jeweiligen Login zugeordnet habe. Woran kann das jetzt liegen ? Gibt es da noch irgendeine Option die man einschalten muss ? Zitat # # Basic # ServerName "DynMS FTP Server" serverType standalone ServerAdmin support@dynms.de # # Debug Level # emerg, alert, crit (empfohlen), error, warn. notice, info, debug # SyslogLevel crit SystemLog /var/log/proftpd.system.log # # uncomment, if you want to hide the servers name: # ServerIdent on "DynMS FTP Server" DeferWelcome on DefaultServer on # # Display # DisplayLogin ./ftp.motd DisplayConnect ./ftp.pre DisplayFirstChdir index.txt HiddenStor off #DirFakeUser on ftpuser #DirFakeGroup on ftpgroup #DirFakeMode 0640 Port 21 #------------------------mysql Modul: 4.x SQLAuthTypes Plaintext SQLAuthenticate users* SQLConnectInfo dyncontrol@localhost proftpd password SQLDefaultGID 65534 SQLDefaultUID 65534 SQLMinUserGID 100 SQLMinUserUID 500 SQLUserInfo ftp username password uid gid homedir shell SQLLog PASS counter SQLNamedQuery counter UPDATE "letzter_zugriff=now(), count=count+1 WHERE username='%u'" ftp # xfer Log in mysql SQLLog RETR,STOR transfer1 SQLNamedQuery transfer1 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'c', NULL" xfer_stat SQLLOG ERR_RETR,ERR_STOR transfer2 SQLNamedQuery transfer2 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'i', NULL" xfer_stat #------------------------mysql # # FXP Unterstuetzung # AllowForeignAddress on # Umask 022 is a good standard umask to prevent new dirs # and files from being group and world writable. Umask 022 # Set the user and group that the server normally runs at. User nobody Group nogroup # Maximal Werte setzen MaxClientsPerHost 3 "Nicht mehr als %m Verbindungen" MaxClients 5 "Leider sind schon %m Clients verbunden" Classes on Class default limit 5 Class internet limit 2 Class local limit 3 Class internet ip 0.0.0.0/0 Class internet ip 192.168.99.99/24 Class local ip 127.0.0.1/24 Class local ip 192.168.0.0/24 # # Restart erlauben # AllowStoreRestart on AllowRetrieveRestart on # It is a very good idea to allow only filenames containing normal # alphanumeric characters for uploads (and not shell code...) #PathAllowFilter "^[a-zA-Z0-9_.-]()'+$" #PathAllowFilter "^[a-zA-Z0-9 _.-]()'+$" # We don't want .ftpaccess or .htaccess files to be uploaded #PathDenyFilter "(\.ftp)|(\.ht)[a-z]+$" #PathDenyFilter "\.ftp[a-z]+$" # Do not allow to pass printf-Formats (security! see documentation!): #AllowFilter "^[a-zA-Z0-9@~ /,_.-]*$" #DenyFilter "%" # To prevent DoS attacks, set the maximum number of child processes # to 30. If you need to allow more than 30 concurrent connections # at once, simply increase this value. Note that this ONLY works # in standalone mode, in inetd mode you should use an inetd server # that allows you to limit maximum number of processes per service # such as xinetd) MaxInstances 30 # Performance: skip DNS resolution when we process the logs... UseReverseDNS off # Turn off Ident lookups IdentLookups off # Set the maximum number of seconds a data connection is allowed # to "stall" before being aborted. TimeoutStalled 300 # Where do we put the pid files? ScoreboardPath /usr/local/var/proftpd # Do a chroot for web-users (i.e. public or www group), but # do not change root if the user is also in the users group... # DefaultRoot ~ !users # # Limit login attempts # MaxLoginAttempts 3 # # Users needs a valid shell # RequireValidShell off <Directory /*> AllowOverwrite on <Limit STOR CMD MKD WRITE RETR DELE> AllowALL </Limit> </Directory> Titel: ProFTPD + mod_sql Beitrag von: stonki am 02. Mai 2004, 22:03:06 grins :roll:
Ich habe ja mit Deiner Frage schon gerechnet. Du willst die UID 33 (oder so vergeben). Nun schaue Dir mal in Deiner config die Minimum UID an. Und wenn diese Unterschritten wird, dann wird automatisch die Default UID genommen... Titel: ProFTPD + mod_sql Beitrag von: Iblun am 02. Mai 2004, 22:05:08 neeeeeeeiiinnn ... autsch .... ich gucke mir die blöde konfig schon zum 324234 Mal an irgendwann wird man einfach nur blind ...
danke ich währe von selber nie drauf gekommen Titel: ProFTPD + mod_sql Beitrag von: Iblun am 02. Mai 2004, 22:17:20 hmm ok das klappt jetzt ...
Nur irgendwie kriege ich das jetzt mit den Rechten nicht sinnvoll beisammen. Den Ordner habe ich auch dem owner www-data und www-group zugeordnet. Dann noch chmod 744 sprich owner alles, gruppe und welt nur lesen. Wenn ich jetzt als root eine datei anlege in dem verzeichniss kann ich die per ftp trotzdem löschen...Das kann irgendwie doch nicht richtig sein ... Ich möchte das der jenige der sich einloggt nur die Dateien löschen /bearbeiten kann die ihm auch gehören. Titel: ProFTPD + mod_sql Beitrag von: stonki am 03. Mai 2004, 00:22:04 Zitat von: "Iblun" hmm ok das klappt jetzt ... Nur irgendwie kriege ich das jetzt mit den Rechten nicht sinnvoll beisammen. Den Ordner habe ich auch dem owner www-data und www-group zugeordnet. Dann noch chmod 744 sprich owner alles, gruppe und welt nur lesen. Wenn ich jetzt als root eine datei anlege in dem verzeichniss kann ich die per ftp trotzdem löschen...Das kann irgendwie doch nicht richtig sein ... Ich möchte das der jenige der sich einloggt nur die Dateien löschen /bearbeiten kann die ihm auch gehören. ich kann Dir nicht 100% folgen (mag an der Flasche Rotwein liegen), aber ich tippe mal auf: http://www.proftpd.de/forum2/viewtopic.php?t=307&start=0&postdays=0&postorder=asc&highlight=root |