PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Proftpd Mysql Homedir



GroundZero
13.02.05, 17:07
Nabend Jungs und Mädels,

ich hab ein Problem mit meinem proftp. ich benutze mysql um die user zu authentifizieren. Ich möchte dabei, das jeder user ein eigenes Homedir bekommt, und nicht in die anderen Homedirs wechseln kann. Habe schon ziemlich viel probiert, aber hab den dreh noch nicht raus...
Die wichtigen variablen dazu:

SQLAuthTypes Plaintext
SQLAuthenticate users*
SQLConnectInfo ftp@localhost user *****
RequireValidShell off
SQLDefaultHomedir /var/www/htdocs/
SQLDefaultGID 65534
SQLDefaultUID 65534
SQLMinUserGID 100
SQLMinUserUID 500
SQLUserInfo ftp username password uid gid homedir shell

Mysql-Struktur inkl. Testuser:
INSERT INTO `ftp` ( `username` , `uid` , `gid` , `password` , `homedir` , `count` , `ui` , `shell` , `letzter_zugriff` , `zugang` )
VALUES (
'web1', '1000', '1000', '***', '/web1/', NULL , '', '/bin/false', NULL , NULL
);
Wenn ich mich verbinde, komm ich in /var/www/htdocs/ als rootverzeichnis raus, so wie es in SQLDefaultHomedir steht, will aber in /var/www/htdocs/web1/ für diesen user rauskommen, für die anderen natürlich andere verzeichnisse....

Sehe bestimmt vor lauter Dokumentation den Wald vor Bäumen nicht..

Könnt ihr mir helfen?

Thx schonmal im vorraus ;-)

/home/franz
13.02.05, 17:11
INSERT INTO `ftp` ( `username` , `uid` , `gid` , `password` , `homedir` , `count` , `ui` , `shell` , `letzter_zugriff` , `zugang` )
VALUES (
'web1', '1000', '1000', '***', '/web1/', NULL , '', '/bin/false', NULL , NULL
);

hab zwar von proftpd keine ahnung aber:
wiso /web1/? gibts doch wahrscheinlich ned. mach da mal /var/www/htdocs/web1/ rein.

GroundZero
13.02.05, 17:13
Danke für deine Hilfe, auch wenns mich nicht weiter bringt.

Habe /var/www/htdocs/web1/ natürlich auch schon versucht, genauso wie /web1/, sogar in unterschiedlichen Schriftweisen (mit / vorne, ohne,...)...

Hilft alles nichts, ich komme immer in /var/www/htdocs/ raus, will aber /var/www/htdocs/web1/ für den user web1, /var/www/htdocs/web2/ für den user web2 usw...sozusagen ISP-Style...

Greez
GZ

/home/franz
13.02.05, 17:19
mmmhm..

SQLUserInfo ftp username password uid gid homedir shell

Mysql-Struktur inkl. Testuser:
INSERT INTO `ftp` ( `username` , `uid` , `gid` , `password` , `homedir` , `count` , `ui` , `shell` , `letzter_zugriff` , `zugang` )

hier stimmt die konfig nicht mit der mysql tabelle überein sollte wahrscheinich eher:

SQLUserInfo ftp username uid gid password homedir count ui shell heißen oder ist das password die uid? :)

bin mir ned sicher ob der proftpd die mysql datenbank so ausliest aber könnte sein. ;)

GroundZero
13.02.05, 17:22
Meines Wissens ist das egal, sonst könnte ich mich ja nichtmal connecten...wie gesagt, funktioniert ja alles, nur komm ich nicht im richtigen/abgeschotteten Verzeichnis raus....

Aber thx für deine Hilfe

Greez
GZ

/home/franz
13.02.05, 17:24
tut mir leid aber ich hab noch nie was mit proftpd gemacht.

verbindet sich proftpd überhaupt mit mysqld schau mal in die log von mysql und proftpd vielleicht gibts da n fehler ;)

und bis jetzt kannst du dich als normaler linux benutzer anmelden uund nicht über den virtuellen mysql benutzer

GroundZero
13.02.05, 17:46
Wir reden wohl aneinander vorbei ;-)

Von Vorne:

Ich kann mich anmelden, Proftp verbindet sich auch mit MySQL und holt schön artig die Daten ab. Alles wunderbar. Das einzigste Problem, ich will für jeden FTP-User ein eigenes Verzeichnis, wo nur er rumpfuschen darf.Sozusagen ein Homedir. Und DAS funktioniert nicht. Oben stehen die Variablen, irgendwo ist da was falsch, aber ich finde den Fehler nach 2 Tagen suchen nicht.

Warum ich das mache? Ich will für FTP-User keine echten Systemuser vergeben. Mit MySQL kann ich das besser verwalten per Webinterface.

Hoffe ich habe mich klar ausgedrückt,ansonsten nochmal nachfragen :D

Edit: Nein, ich kann micht nur per virtuellen User anmelden. Das ist aber gewollt ;-)

whistle
13.02.05, 18:21
Hi,
ich würde vorschlagen die Anweisung SQLDefaultHomedir /var/www/htdocs/ wegzulassen und stattdessen in das Homedir Feld in der Datenbank dann z.B. /var/www/htdocs/web1/ zu schreiben.
Gruß
Whistle

GroundZero
13.02.05, 21:32
Dann geht gar nichts mehr. Seh zwar Ordner und Dateien, kann sie aber nicht lesen oder öffnen....

Man, da muss es doch einen weg geben *langsamverzweifel*

whistle
14.02.05, 12:22
Hi,
dass hört sich dann eher nach einem Zugriffsproblem auf Dateiebene an, stimmten denn z.B. die UIDs aus der Datenbank mit denen von Linux überein?
Gruß
Whistle

GroundZero
14.02.05, 13:25
Habs durch langes suchen rausgefunden.

Das proftpd-mysql Paket in Debian Woody ist fehlerhaft, hab ein neueres installiert und es funktioniert.

Naja, 3 tage umsonst gesucht, und ich dachte schon ich wär blöde geworden.

Greez und thx,
GZ

whistle
14.02.05, 13:28
D'oh, das ist wirklich ärgerlich.