www.ProFTPD.de
13. März 2007, 21:16:43 *
Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge
News: SMF - Neu installiert!
 
   Übersicht   Hilfe Suche Login Registrieren  
Seiten: [1]   Nach unten
  Drucken  
Autor Thema: Anonym anmelden mit auth_mysql  (Gelesen 179 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
Slim
Gast
« 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.
Gespeichert
Wörsty
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 1602


50772603
Profil anzeigen WWW E-Mail
« Antwort #1 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:
Gespeichert

RedHat 8.0 (2.4er Kernel)
proftpd 1.2.10
-mod_sql_mysql
-mow_wrap
-mod_exec
-mod_ifsession[/size]
stonki
Administrator
ProFTPD
*****
Offline Offline

Beiträge: 1853


15318939
Profil anzeigen WWW E-Mail
« Antwort #2 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
Gespeichert

www.stonki.de:    the more I see, the more I know.......
www.proftpd.de:   Deutsche ProFTPD Dokumentation
www.krename.net:  Der Batch Renamer für KDE
www.kbarcode.net: Die Barcode Solution für KDE
Wörsty
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 1602


50772603
Profil anzeigen WWW E-Mail
« Antwort #3 am: 14. Juni 2004, 19:58:19 »

Habe doch gepostet, wie es geht.
Bei mir fuxt es. Cool
Gespeichert

RedHat 8.0 (2.4er Kernel)
proftpd 1.2.10
-mod_sql_mysql
-mow_wrap
-mod_exec
-mod_ifsession[/size]
Anonymous
Gast
« Antwort #4 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.
Gespeichert
Wörsty
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 1602


50772603
Profil anzeigen WWW E-Mail
« Antwort #5 am: 15. Juni 2004, 09:31:56 »

Wieso hat dein anonymous user ein PW?
Und wieso heißt der ftp?
Gespeichert

RedHat 8.0 (2.4er Kernel)
proftpd 1.2.10
-mod_sql_mysql
-mow_wrap
-mod_exec
-mod_ifsession[/size]
Slim
Gast
« Antwort #6 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...  Cool 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... Zwinkernd

Ciao
Slim
Gespeichert
Wörsty
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 1602


50772603
Profil anzeigen WWW E-Mail
« Antwort #7 am: 15. Juni 2004, 11:46:15 »

SQLAuthTypes         Backend  Empty
Gespeichert

RedHat 8.0 (2.4er Kernel)
proftpd 1.2.10
-mod_sql_mysql
-mow_wrap
-mod_exec
-mod_ifsession[/size]
Seiten: [1]   Nach oben
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS
Seite erstellt in 0.235 Sekunden mit 16 Zugriffen.