Jump to content
Froxlor Forum
  • 0

FCGI-User anlegen: bad user name webXXX


trace

Question

Hi nochmal,

 

Thread 2 von http://forum.froxlor.org/index.php?/topic/1209-fcgi-userdataincphp-nicht-lesbar/

ich dachte schon das da was nicht ganz stimmt, und jetzt kommt auch der Fehler hervor...

 

dies ist nun mittlerweile die 4. installation seit samstag, und immer hat etwas nicht geklappt... jetzt habe ich einen user angelegt, und anscheinend funktioniert trotz GENAUESTER installation von fcgid das ganze noch immer nicht.. bei einem Apache neustart kommt der fehler: bad user name web1 und im verzeichnis sind da auch keine webXX namen...

 

/var/customers/webs# ls -lisa

insgesamt 12

639239 4 drwxr-xr-x 3 root root 4096 29. Aug 11:09 .

639238 4 drwxr-xr-x 6 root root 4096 29. Aug 09:44 ..

639379 4 drwxr-xr-x 3 10000 10000 4096 29. Aug 11:09 web1

 

 

Woran kann das liegen...?!

es scheitert immer an diesem Fehler (auch bei den anderen 3 installationen...

 

vielen dank!

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

Hallo,

 

/var/customers/webs# ls -lisa

insgesamt 12

639239 4 drwxr-xr-x 3 root root 4096 29. Aug 11:09 .

639238 4 drwxr-xr-x 6 root root 4096 29. Aug 09:44 ..

639379 4 drwxr-xr-x 3 10000 10000 4096 29. Aug 11:09 web1

 

Woran kann das liegen...?!

es scheitert immer an diesem Fehler (auch bei den anderen 3 installationen...

 

da haben wir schon den generellen Fehler.

 

N?mlich:

 

639379 4 drwxr-xr-x 3 10000 10000 4096 29. Aug 11:09 web1

 

Der Benutzer 10000 wird also nicht web1 zugeordnet.

 

Dazu bitte den Inhalt der Datei /etc/nsswitch.conf, /etc/nss-mysql-root.conf und /etc/nss-mysql.conf posten. Ein genereller Fehler bei der Installation oder der Kompilierung kann noch sein, da? Du kein Paket mit MySQL Header Dateien installiert hast. Dazu m??te ich allerdings die genaue Linux Distribution kennen. Dieses Problem wird auch f?r deinen anderen Beitrag veranwortlich sein.

 

Hier einige Hintergrundinfos:

APACHE greift auf LINUX-User zur?ck. Diese werden gem?? der Anleitung von fcgi mit nscd (Name Service Cache Deamon) virtuell aus der MySQL Benutzerdatenbank erstellt. Da das bei Dir nicht funktioniert klappts auch nicht mit Apache.

 

Viele Gr??e

 

Linux-Admin

Link to comment
Share on other sites

Hi,

 

super danke f?r die Infos, und hier auch gleiche meine Infos:

 

Debian 6.0

Linux version 2.6.32-5-amd64 (Debian 2.6.32-35) (dannf@debian.org) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Tue Jun 14 09:42:28 UTC 2011

 

 

nss-mysql.conf

conf.version = 2;
users.host = inet:127.0.0.1:3306;
users.database = froxlor;
users.db_user = froxlor;
users.db_password = XXXXXXXXX;
users.table = ftp_users u;
users.where_clause = u.login_enabled = 'Y';
users.user_column = u.username;
users.password_column = u.password;
users.userid_column = u.customerid;
users.uid_column = u.uid;
users.gid_column = u.gid;
users.realname_column = u.username;
users.homedir_column = u.homedir;
users.shell_column = u.shell;
groups.group_info_table = ftp_groups g;
groups.where_clause = ;
groups.group_name_column = g.groupname;
groups.groupid_column = g.id;
groups.gid_column = g.gid;
groups.password_column = "x";
groups.members_table = ftp_groups ug;
groups.member_userid_column = ug.customerid;
groups.member_groupid_column = ug.id;

 

nss-mysql-root.conf

nf.version = 2;
shadow.host = inet:127.0.0.1:3306;
shadow.database = froxlor;
shadow.db_user = froxlor;
shadow.db_password = XXXXXX;
shadow.table = ftp_users u;
shadow.where_clause = ;
shadow.userid_column = u.customerid;
shadow.user_column = u.username;
shadow.password_column = u.password;
shadow.lastchange_column = FLOOR(UNIX_TIMESTAMP()/86400-1);
shadow.min_column = 0;
shadow.max_column = 99999;
shadow.warn_column = 7;
shadow.inact_column = -1;
shadow.expire_column = -1;

 

nsswitch.conf

# /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

 

Liebe Gr??e & Danke!

Link to comment
Share on other sites

Hallo,

 

jetzt wird das Ganze klarer, kann ja nicht funktionieren. Falsche nss-mysql Version mit wahrscheinlich falscher MySQL Header Datei kompiliert (obwohl es offensichtilich ein ORIGINAL debian .deb Paket ist; k?nnte eventuell an der 64 Bit version liegen). Ich habe mir damals die Dateien selbst aus deb sources kompiliert und aus dem Originalanhang im Pakete und cfg Dateien erstellt.

 

nss-mysql.conf von DIR:

conf.version = 2;
users.host = inet:127.0.0.1:3306;
users.database = froxlor;
users.db_user = froxlor;
users.db_password = XXXXXXXXX;
users.table = ftp_users u;
users.where_clause = u.login_enabled = 'Y';
users.user_column = u.username;
users.password_column = u.password;
users.userid_column = u.customerid;
users.uid_column = u.uid;
users.gid_column = u.gid;
users.realname_column = u.username;
users.homedir_column = u.homedir;
users.shell_column = u.shell;
groups.group_info_table = ftp_groups g;
groups.where_clause = ;
groups.group_name_column = g.groupname;
groups.groupid_column = g.id;
groups.gid_column = g.gid;
groups.password_column = "x";
groups.members_table = ftp_groups ug;
groups.member_userid_column = ug.customerid;
groups.member_groupid_column = ug.id;

 

nss-mysql.conf

 

sieht bei mir so aus:

conf.version = 2;
users.host = inet:127.0.0.1:3306;
users.database = DB_NAME;
users.db_user = DB_USER;
users.db_password = PASSWORD;
users.table = ftp_users u;
users.where_clause = u.login_enabled = 'Y';
users.user_column = u.username;
users.password_column = u.password;
users.userid_column = u.customerid;
users.uid_column = u.uid;
users.gid_column = u.gid;
users.realname_column = u.username;
users.homedir_column = u.homedir;
users.shell_column = u.shell;
groups.group_info_table = ftp_groups g;
groups.where_clause = ;
groups.group_name_column = g.groupname;
groups.groupid_column = g.id;
groups.gid_column = g.gid;
groups.password_column = "x";
groups.members_table = ftp_groups ug;
groups.member_userid_column = ug.customerid;
groups.member_groupid_column = ug.id;

 

nss-mysql-root.conf von DIR:

nf.version = 2;
shadow.host = inet:127.0.0.1:3306;
shadow.database = froxlor;
shadow.db_user = froxlor;
shadow.db_password = XXXXXX;
shadow.table = ftp_users u;
shadow.where_clause = ;
shadow.userid_column = u.customerid;
shadow.user_column = u.username;
shadow.password_column = u.password;
shadow.lastchange_column = FLOOR(UNIX_TIMESTAMP()/86400-1);
shadow.min_column = 0;
shadow.max_column = 99999;
shadow.warn_column = 7;
shadow.inact_column = -1;
shadow.expire_column = -1;

 

"libnss-mysql-root.conf" sieht bei mir so aus und hei?t auch anders:

username        DB_USER
password        PASSORD

 

 

nsswitch.conf

# /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

 

nsswitch.conf: Diese ist bei mir identisch

 

Und nun der Schl?ssel zum Erfolg:

Die Datei libnss-mysql.cfg, diese existiert wahrscheinlich bei DIR ?berhaupt nicht (schau doch mal nach).

 

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        DB_NAME
username        DB_USER
password        PASSWORD
socket                /var/run/mysqld/mysqld.sock

 

FAZIT: Entweder Du versuchst Dein Debian zu debuggen (dann mal bitte Inhalte von /var/log/messages posten) oder Du kompilierst das ganze neu.

 

 

Viele Gr??e

 

Linux Admin

Link to comment
Share on other sites

hi

 

danke f?r die m?he..

huiii... ob ich das schaffe ^^ ich melde mich gleich dann wieder, wenn ich herumprobiert habe!

 

LG

Hi,

da komme ich etwas mit den durcheinander gew?rfelten (verglichenen) config-dateien in dem Thread durcheinander.

L?uft bei euch das libnss-mysql UND libnss-mysql-bg nebeneinander? Oder weshalb werden die Dateien verglichen?

 

Bei mir ist es so, mit Squeeze l?uft das ?ndern der UID auf Names auch nicht.

Wenn ich libnss-mysql verwende.

Also, habe ich es deinstalliert und libnss-mysql-bg reingemacht.

Da weiss ich aber leider gar nicht, wie die beiden eingestellt sein m?ssen, libnss-mysql.cfg libnss-mysql-root.cfg, da ja im Panel nur von den alten conf Dateien die Rede ist.

Ausserdem steht da, man solle die Dateien ?ndern oder erstellen (??). Na gut, hab ich dann halt gemacht bringt aber nichts.

 

Warum sollte man die auch erstellen, wenn die Library gar nicht mehr installiert, ist, ne?

 

Wie kann das denn jetzt weiter gehen?

 

Ich scheitere nun beim ersten Schritt einfach schon, die Voraussetzungen f?r die weiteren Schritte nach Handbuch sind ja bereits nicht getroffen.

So kann ich nicht FCGI und Suexec installieren.

 

Hat jemand einen guten Tipp?

 

MfG

Andre

Link to comment
Share on other sites

Archived

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



×
×
  • Create New...