Jump to content
Froxlor Forum

Archived

This topic is now archived and is closed to further replies.

  • 0
Roan

[solved] Debian Wheezy / 0.9.29 / libnss Problem

Question

Debian 7.0 (Wheezy) ?  Sonstige (System) ?  libnss (system login with mysql)

Ich habe nun mehrfach versucht o.g. laut config-template zu installieren:

 

1. Frisches wheezy minimal image mit ssh (netcup): Linux kvmimageinstall 3.2.0-4-amd64 #1 SMP Debian 3.2.41-2 x86_64

 

2. sources.list ge?ndert und keyserver Schl?ssel geholt

 

3. mit apt-get install froxlor ... Froxlor FEHLERFREI installiert ... Froxlor per Server-IP/froxlor FEHLERFREI eingerichtet und anschlie?end konfiguriert

 

4. Zum testen einfach mal nur Apache 2, Bind 9 eingerichtet/?berpr?ft

 

5. Debian 7.0 (Wheezy) ?  Sonstige (System) ?  libnss (system login with mysql) wie es da steht abgearbeitet:

/etc/init.d/cron stop

apt-get install libnss-mysql-bg nscd
chmod 600 /etc/libnss-mysql.cfg /etc/libnss-mysql-root.cfg

 

Die Dateien editiert/kopiert

/etc/libnss-mysql.cfg

/etc/libnss-mysql-root.cfg

/etc/nsswitch.conf

 

/etc/init.d/nscd restart und Apache auch direkt mal neugestartet.

 

Trotzdem zeigt ein: ls -al /var/customers/webs/

Immer nur die IDs statt des Usernamen der Kunden an.

 

drwxr-xr-x 4 root  root  4096 Sep 20 13:41 .
drwxr-xr-x 6 root  root  4096 Sep 20 12:15 ..
drwxr-xr-x 3 10000 10000 4096 Sep 20 12:15 community
drwxr-xr-x 3 10001 10001 4096 Sep 20 13:41 privat

 

Es gibt in keinem Log irgend eine Fehlermeldung dazu und nscd ist definitiv gestartet und die configs sind exakt so wie es im config-template steht, ausser das halt das MYSQL_PASSWORD eingesetzt wurde.

 

Ich habe das ganze sicher schon x-mal ohne Probleme unter squeeze problemlos gemacht, aber unter wheezy klappt es einfach nicht.

 

Hat irgendwer noch eine Idee?

 

Oder stimmt etwas im config-template nicht? Oder steh ich mir nur gerade tierisch auf dem Schlauch?

Share this post


Link to post
Share on other sites

18 answers to this question

Recommended Posts

Wenn Benutzernamen zu lang sind werden sie ab und zu automatisch nur durch die UID repr?sentiert. Was sagt der Befehl "getent passwd" - kommen dort am Ende deine virtuellen User? Wenn nein dann stimmt noch etwas mit deinem nscd/libnss nicht

Share this post


Link to post
Share on other sites

In der Datenbank stehen sie beide drinne unter "panel_customers"

 

unter "getent passwd" stehen sie nicht.

 

Aber wo sollte da der Fehler liegen, Image installieren und apt-get install froxlor da wird ja soweit alles ohne mein zutun eingerichtet. Und die Einrichtung war auch fehlerfrei ... Es gibt auch kein auth-Problem beim Datenbank Zugriff usw.

Share this post


Link to post
Share on other sites

Dann passen deine nscd-Configs noch nicht. Bitte mal die drei Dateien die du oben angegeben hast zeigen (minus das Datenbankpasswort nat?rlich)

Share this post


Link to post
Share on other sites
getent passwd [username]

nicht nur "getent passwd"

 

Versuche auch mal 127.0.0.1 statt localhost oder andersrum...ist oft ein Problem unter Debian

Share this post


Link to post
Share on other sites

In libnss-mysql.cfg habe ich localhost und 127.0.0.1 getestet (inkl. apache2 und nscd neustart) ... war egal .. geht beides nicht

 

"getent passwd" zeigte alles m?gliche an ausser den 2 Kunden

 

"getent passwd community" oder "getent passwd community" da passiert nichts, ausser das der Befehl angenommen wird und nichts ausgegeben wird.

 

So hier die vom config-template generierten Dateien:

 

 

/etc/libnss-mysql.cfg:

getpwnam    SELECT username,'x',uid,gid,'MySQL User',homedir,shell \
            FROM ftp_users \
            WHERE username='%1$s' \
            AND login_enabled = 'Y' \
            LIMIT 1
getpwuid    SELECT username,'x',uid,gid,'MySQL User',homedir,shell \
            FROM ftp_users \
            WHERE uid='%1$u' \
            AND login_enabled = 'Y' \
            LIMIT 1
getspnam    SELECT username,password,FLOOR(UNIX_TIMESTAMP()/86400-1),'1','99999','7','-1','-1','0' \
            FROM ftp_users \
            WHERE username='%1$s' \
            AND login_enabled = 'Y' \
            LIMIT 1
getpwent    SELECT username,'x',uid,gid,'MySQL User',homedir,shell \
            FROM ftp_users
getspent    SELECT username,password,FLOOR(UNIX_TIMESTAMP()/86400-1),'1','99999','7','-1','-1','0' \
            FROM ftp_users
getgrnam    SELECT groupname,'x',gid \
            FROM ftp_groups \
            WHERE groupname='%1$s' \
            LIMIT 1
getgrgid    SELECT groupname,'x',gid \
            FROM ftp_groups \
            WHERE gid='%1$u' \
            LIMIT 1
getgrent    SELECT groupname,'x',gid \
            FROM ftp_groups
memsbygid   SELECT username \
            FROM ftp_users \
            WHERE gid='%1$u'
gidsbymem   SELECT gid \
            FROM ftp_users \
            WHERE username='%1$s'

host        127.0.0.1
database    froxlor
username    froxlor
password    MYSQL_PASSWORD
port        3306

/etc/libnss-mysql-root.cfg:

username    froxlor
password    MYSQL_PASSWORD

/etc/nsswitch.conf:

# Make sure that `passwd`, `group` and `shadow` have mysql in their lines
# You should place mysql at the end, so that it is queried after the other mechanisams
#
passwd:         compat mysql
group:          compat mysql
shadow:         compat mysql

hosts:       files dns
networks:    files dns

services:    db files
protocols:   db files
rpc:         db files
ethers:      db files
netmasks:    files
netgroup:    files
bootparams:  files

automount:   files
aliases:     files

.... so stehen sie jetzt mit dem richtigen ersetzten "MYSQL_PASSWORD" Passwort auf dem Server.

 

Der froxlor User exisitert auch wie es sein soll 3 mal (localhost, 127.0.0.1, und meine Server-IP) in der MYSQL-Datenbank.

Share this post


Link to post
Share on other sites

Solchen Code solltest du am Besten in [ code ]-Tags packen f?r bessere Lesbarkeit.

 

Sieht aber soweit gut aus. Kannst du dich manuell mit dem dort konfigurierten SQL-Zugangsdaten einloggen? Also "mysql -u froxlor -h localhost -p"?

Alternativ in der libnss-mysql.cfg die Zeile "port 3306" ersetzen durch "socket          /var/run/mysqld/mysqld.sock" (Vorsicht anpassen auf dein Betriebsystem - dein mysqld.sock oder mysql.sock liegt eventuell ein bisschen woanders)

 

Achso und in der Datenbank m?ssen die User in der "ftp_users"-Tabelle sein.

Share this post


Link to post
Share on other sites

Ups, ja sorry *g*

 

Sollte es dann nicht irgendwo auch einen auth-Fehler geben? Oder was in den Logs stehen?

 

Ja ich kann mich normal einloggen per "mysql -u froxlor -h localhost -p" .. Passwort stimmt und wird angenommen ...

 

Der Port 3306 stimmt auch. Und das ersetzen in "socket          /var/run/mysqld/mysqld.sock" brachte auch kein anderes Ergebnis.

Share this post


Link to post
Share on other sites

Achso und in der Datenbank m?ssen die User in der "ftp_users"-Tabelle sein.

 

Bitte pr?fen. Ich bin mir ziemlich sicher das es ein Konfigurationsproblem deinerseits ist.

Share this post


Link to post
Share on other sites

Bitte pr?fen. Ich bin mir ziemlich sicher das es ein Konfigurationsproblem deinerseits ist.

 

In der Datenbank stehen beide Kunden unter ftp_users eingetragen, mit richtiger homedir und allem drum und dran.

 

Ja, kann ja gut sein , aber die wo sollte ich das was falsch gemacht haben? Minimal-Image von netcup + froxlor installation .. da gibt es ja nicht viel falsch zu machen *g* bzw. meinerseits einzugreifen.

Share this post


Link to post
Share on other sites

Wenn du willst werf ich mal nen Blick auf die Kiste...manchmal sieht man den Wald vor lauter B?umen nicht

Share this post


Link to post
Share on other sites

L?uft der nscd vielleicht als nobody und die Dateien k?nnen vom User nobody nicht gelesen werden?

Stell mal dann Testweise den User vom nscd auf root um..

Share this post


Link to post
Share on other sites

Wenn du willst werf ich mal nen Blick auf die Kiste...manchmal sieht man den Wald vor lauter B?umen nicht

DANKE!

 

Habe dir dir Daten gerade per PN geschickt.Kann gut sein das es meinerseits nur der bekannte "Wald vor lauter B?umen ist".

Share this post


Link to post
Share on other sites

Aufl?sung: es wurde wohl in den libnss-configs versehentlich das mysql-root-passwort angegeben, anstatt das passwort des froxlor-db-benutzers

Share this post


Link to post
Share on other sites





×
×
  • Create New...