Titel: Anonym anmelden mit auth_mysql Beitrag von: Slim am 14. Juni 2004, 15:35:54 Hallo,
ich hab jetzt ne Weile rumgesucht, aber nicht so richtig ne Antwort auf meine Frage gefunden. Ich hab nen ProFTPd laufen, der sich an ner MySQL-DB authentifiziert, das funktioniert auch wunderbar. Jetzt wollt ich noch ne kleine Anonymous-Sektion hinzufügen, und dort hängts grad bissl. Erstmal hab ich gedacht, ich könnt vielleicht SQL-Auth für den Bereich abschalten und dafür PAM einschalten, aber das geht ja wohl nicht... Meine Anonymous-Sektion sieht so aus: Code: <Anonymous /srv/ftp> AnonRequirePassword off User ftp Group ftp UserAlias anonymous ftp <Limit LOGIN> Order allow,deny Allow from 172.20.30.,192.168. Deny from all </Limit> <Directory /srv/ftp> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous> Eigentlich sollte das doch passen, oder? Jedoch will der immer mein Passwort haben, was ich für den Nutzer ftp in der MySQL-DB vergeben habe. Sonst lässt er mich nicht rein. Er denkt scheinbar, das ist ein ganz normaler User-Login. Wenn ich mich einlogge, bekomme ich auch statt Code: 331 Anonymous login ok, send your complete email address as your password. diese Zeile zu sehen: Code: 331 Password required for anonymous. Was mach ich falsch? Danke schonmal für ne Aufklärung. Titel: Anonym anmelden mit auth_mysql Beitrag von: Wörsty am 14. Juni 2004, 17:45:39 Code: ServerType standalone MaxInstances 30 MultilineRFC2228 On RootLogin Off UseReverseDNS Off PersistentPasswd Off AllowLogSymlinks Off RequireValidShell Off tcpNoDelay On PidFile /var/run/proftpd/proftpd.pid ScoreboardFile /usr/local/var/proftpd/proftpd.scoreboard TransferRate RETR,STOR 4096:52428800 ListOptions +R strict AllowOverride off WtmpLog off SQLLogfile /www/vhosts/administration/linux/logfiles/proftpd_anonftp_sql.log TLSProtocol TLSv1 TLSRSACertificateFile /www/secure/MyFTP.cert TLSRSACertificateKeyFile /www/secure/MyFTP.key TLSCACertificateFile /www/secure/MyCA.cert User www Group www LogFormat defaultftp "%h %l %u %t %r %s %b" LogFormat ftpqueue "%h %l %u %t %r %s %b" AccessDenyMsg "Zugriff verweigert! (%u)" AccessGrantMsg "Herzlich Willkommen %u!" AllowFilter "^[a-zA-Z0-9]*" AllowForeignAddress On AllowOverwrite On AllowRetrieveRestart On AuthAliasOnly Off DeleteAbortedStores On DirFakeGroup On ftp DirFakeMode 700 DirFakeUser On ftp DisplayConnect /www/vhosts/ftp/21/.DisplayConnect.msg DisplayFirstChdir .DisplayFirstChdir.msg DisplayGoAway .DisplayGoAway.msg DisplayQuit .DisplayQuit.msg ExtendedLog /www/vhosts/administration/linux/logfiles/proftpd_anonftp.log ALL defaultftp HiddenStor Off IdentLookups Off Include /www/conf/proftpd_ext_anon.conf LoginPasswordPrompt Off MaxClients 20 "FEHLER: Es sind bereits %m Benutzer verbunden!" MaxClientsPerHost 20 "FEHLER: Es sind bereits %m Benutzer verbunden!" MaxHostsPerUser 20 "FEHLER: Dieser Benutzer ist bereits von %m Rechnern verbunden!" MaxLoginAttempts 2 PathDenyFilter "(\\.ftpaccess)|(\\.htaccess)|(\\.welcome.msg)|(\\.dirinfo.msg)|(\\.login.msg)" Port 21 RequireValidShell Off ServerAdmin christian.woerstenfeld@meinserver.de ServerIdent On "FTP-Server" ServerName "FTP-Server" ShowSymlinks Off SyslogLevel notice Umask 0111 0000 SQLAuthenticate users* groups* SQLAuthTypes Backend Empty SQLConnectInfo ftp@localhost:3306 ftp ftp PERSESSION SQLDefaultGID 502 SQLDefaultUID 502 SQLHomedirOnDemand On SQLUserInfo benutzer loginname passwort NULL NULL concat('/www',verzeichnis) NULL SQLNamedQuery history INSERT "'%U', '%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'ok', NULL" history SQLNamedQuery history_err INSERT "'%U', '%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'nicht ok', NULL" history SQLLog * history SQLLOG ERR_* history_err SQLGroupInfo gruppen name ID mitglieder TimeoutIdle 3600 TimeoutLogin 30 TimeoutNoTransfer 3600 TimeoutStalled 3600 TimesGMT Off <Global> Classes On DefaultChdir ~ DefaultRoot ~ DefaultTransferMode binary DeferWelcome Off PassivePorts 49152 65534 UseGlobbing On UseFtpUsers Off </Global> <IfGroup "AND" !schreibrechte,!administratoren> <Directory ~> <Limit WRITE SITE_CHMOD DELE> DenyAll </Limit> <Limit READ DIRS> IgnoreHidden On AllowAll </Limit> </Directory> <Directory ~/uploads> <Limit SITE_CHMOD DELE> DenyAll </Limit> <Limit WRITE READ DIRS> AllowAll DenyAll </Limit> </Directory> </IfGroup> Code: USE ftp; # # Table structure for table 'benutzer' # DROP TABLE IF EXISTS benutzer; CREATE TABLE `benutzer` ( `ID` int(11) unsigned NOT NULL default '0', `Beschreibung` varchar(30) default NULL, `loginname` varchar(32) NOT NULL default '', `passwort` varchar(16) NOT NULL default '', `Shell` varchar(255) default NULL, `verzeichnis` varchar(255) NOT NULL default '/', `Anmerkung` text, PRIMARY KEY (`loginname`,`ID`) ) TYPE=MyISAM COMMENT='FTP-Benutzer für den Server kb.de.nx1:21'; # # Dumping data for table 'benutzer' # INSERT INTO benutzer (ID, Beschreibung, loginname, passwort, Shell, verzeichnis, Anmerkung) VALUES("0", "Admin", "ftpadmin", "2009d4fa00e0ef29", NULL, "/vhosts/ftp", NULL); INSERT INTO benutzer (ID, Beschreibung, loginname, passwort, Shell, verzeichnis, Anmerkung) VALUES("1", "Anonymous", "anonymous", "", NULL, "/vhosts/ftp/21", "Anonymer Zugang"); # # Table structure for table 'gruppen' # DROP TABLE IF EXISTS gruppen; CREATE TABLE `gruppen` ( `ID` tinyint(3) unsigned NOT NULL auto_increment, `name` varchar(16) NOT NULL default '', `mitglieder` text, UNIQUE KEY `ID` (`ID`,`name`) ) TYPE=MyISAM COMMENT='FTP-Benutzergruppen für den Server kb.de.nx1:21'; # # Dumping data for table 'gruppen' # INSERT INTO gruppen (ID, name, mitglieder) VALUES("3", "administratoren", "ftpadmin"); INSERT INTO gruppen (ID, name, mitglieder) VALUES("1", "schreibrechte", "li87620,tacdata,agent,eurovpn"); # # Table structure for table 'history' # DROP TABLE IF EXISTS history; CREATE TABLE `history` ( `loginname` varchar(30) default NULL, `identname` varchar(30) default NULL, `filename` text, `size` bigint(20) default NULL, `host` varchar(80) default NULL, `ip` varchar(16) default NULL, `aktion` varchar(255) default NULL, `dauer` varchar(10) default NULL, `zeit_lokal` datetime default NULL, `status` set('ok','nicht ok','test') default NULL, `ui` bigint(20) NOT NULL auto_increment, PRIMARY KEY (`ui`) ) TYPE=MyISAM COMMENT='Ausgeführte FTP-Befehle (Port 21)'; Such dir raus was du brauchst :lol: Titel: Anonym anmelden mit auth_mysql Beitrag von: stonki am 14. Juni 2004, 18:16:19 das ist ein trickiges Thema. Sofern Du "Users*" in der proftpd.conf hat, KENNT ProFTPD ja den User "FTP" nicht. Du musst daher in die mysql conf die Daten (also usernamen, UID, GID, HomeDir) eintragen.
cu stonki Titel: Anonym anmelden mit auth_mysql Beitrag von: Wörsty am 14. Juni 2004, 19:58:19 Habe doch gepostet, wie es geht.
Bei mir fuxt es. 8) Titel: Anonym anmelden mit auth_mysql Beitrag von: Anonymous am 15. Juni 2004, 08:32:29 @wörsty: Ich wüsst grad nicht, was ich davon brauch. Die meisten Direktiven hab ich selbst drin.
Aber vielleicht hab ich ja irgendwo nen Fehler, den ich überseh, deshalb hier nochmal meine komplette Konfig: Code: ServerName "Bla FTP Server" ServerIdent on ServerType standalone DefaultServer on MasqueradeAddress ftp.tralala.de ServerAdmin Administrator@tralala.de SyslogLevel debug SystemLog /var/log/proftpd TransferLog /var/log/proftpd.xfer ScoreboardFile /usr/local/var/proftpd/proftpd_mysql.scoreboard DefaultAddress 192.168.203.70 Port 21 UseReverseDNS off IdentLookups on UseFtpUsers on RootLogin off Umask 007 MaxInstances 30 User nobody Group nogroup DefaultRoot ~ !admin AllowOverride off DefaultTransferMode binary DeferWelcome off <IfModule mod_sql.c> AuthOrder mod_sql.c AuthPAM off AuthPAMAuthoritative off SQLAuthenticate users* groups* SQLAuthTypes Backend SQLConnectInfo auth@localhost user pass SQLDefaultUID 65534 SQLDefaultGID 65534 SQLMinID 1 SQLUserInfo users username password uid gid homedir shell SQLUserWhereClause "ftp = 1" SQLGroupInfo groups groupname gid members </IfModule> <Directory /> AllowOverwrite on AllowRetrieveRestart on AllowStoreRestart off DeleteAbortedStores on HiddenStor off HideNoAccess on <Limit ALL> IgnoreHidden on </Limit> </Directory> <Directory /srv/www> Umask 002 </Directory> <Anonymous /srv/ftp> AnonRequirePassword off user ftp group ftp UserAlias anonymous ftp <Limit LOGIN> Order Allow,Deny Allow from 172.20.30.,192.168.203.,192.168.100.41 Deny from all </Limit> <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous> Code: CREATE TABLE `users` ( `username` varchar(25) NOT NULL default '', `locked` tinyint(1) unsigned NOT NULL default '0', `password` varchar(25) NOT NULL default '', `plainpass` varchar(25) default NULL, `uid` smallint(5) unsigned NOT NULL default '65534', `gid` smallint(5) unsigned NOT NULL default '65534', `homedir` varchar(30) NOT NULL default '', `shell` varchar(20) NOT NULL default '/bin/false', `name` varchar(255) default NULL, `admin` tinyint(1) unsigned NOT NULL default '0', `dessin` tinyint(1) unsigned NOT NULL default '0', `cw_admin` tinyint(1) unsigned NOT NULL default '0', `ftp` tinyint(1) unsigned NOT NULL default '0', `news` tinyint(1) unsigned NOT NULL default '0', PRIMARY KEY (`username`) ) TYPE=MyISAM; INSERT INTO `users` VALUES ('ftp', 1, '7c7bc0f525947398', 'ftp', 40, 49, '/srv/ftp', '/bin/false', 'FTP daemon User', 0, 0, 0, 1, 0); CREATE TABLE `groups` ( `groupname` varchar(15) NOT NULL default '', `gid` smallint(3) unsigned NOT NULL auto_increment, `nousers` tinyint(1) unsigned NOT NULL default '0', `members` text NOT NULL, PRIMARY KEY (`gid`), UNIQUE KEY `groupname` (`groupname`) ) TYPE=MyISAM AUTO_INCREMENT=65535 ; INSERT INTO `groups` VALUES ('ftp', 49, 1, ''); D.h. also, der Nutzer ftp und die Gruppe gibts, als es die noch nicht gab, hat er mir das auch im Log gesagt. Mein Problem ist, dass er gar nicht mitbekommt, dass der Einlogversuch anonym ist, sondern das wie einen normalen nutzer behandelt. Noch Tipps? Danke schonmal. Titel: Anonym anmelden mit auth_mysql Beitrag von: Wörsty am 15. Juni 2004, 09:31:56 Wieso hat dein anonymous user ein PW?
Und wieso heißt der ftp? Titel: Anonym anmelden mit auth_mysql Beitrag von: Slim am 15. Juni 2004, 11:16:12 Warum soll der nicht ftp heißen, solange der Alias von Anonymous auf den richtigen gesetzt ist, ist das doch kein Problem... 8) Und das Passwort hatte er, weil ich mich solange der anonyme nicht geht, wenigstens einmal einloggen können wollt, also hab ich ihm ein PW gegeben und damit kam ich in dem gleichen Verzeichnis raus wie wenn es anonym gewesen wäre.
Aber egal, ich muss gestern noch irgendwas geändert haben in der Konfig, die jetzt so ist wie sie oben steht, konnte aber gestern den Server nicht mehr neu starten, da Leute drauf gearbeitet hatten. Heute hab ich ihn nochmal neu gestartet, und jetzt gehts auf einmal... Tja, die Wege des Computers sind unergründlich... ;) Ciao Slim Titel: Anonym anmelden mit auth_mysql Beitrag von: Wörsty am 15. Juni 2004, 11:46:15 SQLAuthTypes Backend Empty
|