Re: initgroups und NIS

2006-09-06 Diskussionsfäden Christoph Pleger
Hallo,

On Wed, 06 Sep 2006 00:22:34 +0200
Bernd Schubert <[EMAIL PROTECTED]> wrote:

> mich wundert ein wenig, dass wir bisher noch nicht das Problem hatten
> und bei uns sind es über 50 clients. Allerdings sind unsere
> Gruppeneinträge auch nur minimal. 

Bei uns sind es ca. 70 Gruppen. Und wenn viele Rechner gleichzeitig
group.byname vom NIS-Server holen, macht das schon was aus.

> Aus der manpage von initgroups() ist mir nicht ganz klar, ob die
> Funktion nur für die /etc/group oder auch für alles, was in der
> nsswitch.conf für für die Gruppen drin steht aufgerufen wird.

Wohl für alles. In neueren glibc-Versionen unterstützt der nscd ja auch
initgroups().

> Im letzteren Fall sollte das
> auch mit dem ldap nachvollziehbar sein. Wie genau bist Du denn darauf
> gekommen, dass es am initgroups() Aufruf liegt?

Ich habe in die Sourcen von cron geschaut und der Aufruf von
initgroups() war die einzige Stelle, an der ich mir die Abfrage von
group.byname erklären konnte. Und nachdem ich den Aufruf entfernt hatte
(so dass der jeweilige Cron-User nur Mitglied seiner primären Gruppe
war), fanden die Abfragen von group.byname nicht mehr statt.

Gruß
  Christoph



Re: initgroups und NIS

2006-09-05 Diskussionsfäden Bernd Schubert
Hallo Christoph,

Christoph Pleger wrote:

> Nee, daran liegt's leider nicht. Ich habe noch ein wenig weiter
> geforscht und dabei festgestellt, dass im nscd von glibc 2.3.2 (die von
> sarge) die Funktion initgroups() schlicht und einfach nicht
> implementiert ist. Die nächste glibc-Version, die nscd-initgroups

mich wundert ein wenig, dass wir bisher noch nicht das Problem hatten und
bei uns sind es über 50 clients. Allerdings sind unsere Gruppeneinträge
auch nur minimal. 
Aus der manpage von initgroups() ist mir nicht ganz klar, ob die Funktion
nur für die /etc/group oder auch für alles, was in der nsswitch.conf für
für die Gruppen drin steht aufgerufen wird. Im letzteren Fall sollte das
auch mit dem ldap nachvollziehbar sein. Wie genau bist Du denn darauf
gekommen, dass es am initgroups() Aufruf liegt?

Grüße,
Bernd


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: initgroups und NIS

2006-09-05 Diskussionsfäden Martin Reising
On Tue, Sep 05, 2006 at 10:25:17AM +0200, Christoph Pleger wrote:
> Ich habe noch ein wenig weiter geforscht und dabei festgestellt, dass
> im nscd von glibc 2.3.2 (die von sarge) die Funktion initgroups()
> schlicht und einfach nicht implementiert ist.  Die nächste
> glibc-Version, die nscd-initgroups unterstützt und die ich noch
> irgendwo als Debian-Sourcen gefunden habe, ist Version 2.3.5.

Das wundert mich allerdings, denn initgroups wird auch über das nss
Interface benutzt und war immer ein Quell der Freude wenn man es in den
eigenen nss Librariers implementieren durfte. Meistens hatte man keine
andere Wahl als die komplette Gruppenliste nach dem gewünschten
Benutzer ab zu suchen um die Liste der Gruppen in denen er Mitglied zu
erzeugen. Vor diesem Hintergrund ist es für mich unverständlich das
initgroups nicht von nscd gechached wird.


> Die lässt sich aber aufgrund von Build-Dependencies (von denen
> wahrscheinlich wieder niemand so genau weiß, ob sie wirklich nötig
> sind) leider nicht für sarge übersetzen.

Versuch macht Klug }:-)
IMHO gehen von

dpkg-dev (>= 1.13.5) linux-kernel-headers (>= 2.6.13+0rc3-2) gcc-4.1
binutils (>= 2.16.1cvs20051109-1) libc6-dev-amd64 po-debconf (>= 1.0)

dpkg-dev, po-debconf, gcc-4.1 und binutils wohl auf das "Konto" des 876kB
großen glibc_2.3.6.ds1-4.diff.gz. Sorgen Ẅwürden mir nur
linux-kernel-headers (>= 2.6.13+0rc3-2) und libc6-dev-amd64 bereiten,
wobei letzter als Überstzungsabhängigkeit für eine neu libc6 doch schon
recht merkwürdig aussieht.

-- 
Nicht Absicht unterstellen, wenn auch Dummheit ausreicht!


pgpptT3AjWYAy.pgp
Description: PGP signature


Re: initgroups und NIS

2006-09-05 Diskussionsfäden Christoph Pleger
Hallo,

On Mon, 4 Sep 2006 18:24:12 +0200
Martin Reising <[EMAIL PROTECTED]> wrote:

> On Mon, Sep 04, 2006 at 01:25:31PM +0200, Christoph Pleger wrote:
> > Allerdings frage ich mich, warum die Daten nicht aus dem nscd-Cache
> > geholt werden. Hat jemand eine Ahnung?
> 
> Entweder ist positive-time-to-live und/oder suggested-size zu klein
> gewählt.
> 
> man nscd.conf
>
> suggested-size service prime-number
> 
>   This option sets the size of the hash that is used to store the
>   cache entries. As this is a hash,it should be reasonably larger than
>   the maximum number of entries that is expected to be cached
>   simultaneously and should be a prime number. It defaults to a size
>   of 211 entries.
> 
> Wenn es lokal und per NIS mehr als 211 EintrÄge in passwd oder group
> gibt hilft ein nicht angepaßter nscd nur begrenzt.

Nee, daran liegt's leider nicht. Ich habe noch ein wenig weiter
geforscht und dabei festgestellt, dass im nscd von glibc 2.3.2 (die von
sarge) die Funktion initgroups() schlicht und einfach nicht
implementiert ist. Die nächste glibc-Version, die nscd-initgroups
unterstützt und die ich noch irgendwo als Debian-Sourcen gefunden habe,
ist Version 2.3.5. Die lässt sich aber aufgrund von Build-Dependencies
(von denen wahrscheinlich wieder niemand so genau weiß, ob sie wirklich
nötig sind) leider nicht für sarge übersetzen. Da kann man wohl nichts
machen. :-(

Gruß
  Christoph



Re: initgroups und NIS

2006-09-04 Diskussionsfäden Martin Reising
On Mon, Sep 04, 2006 at 01:25:31PM +0200, Christoph Pleger wrote:
> Allerdings frage ich mich, warum die Daten nicht aus dem nscd-Cache
> geholt werden. Hat jemand eine Ahnung?

Entweder ist positive-time-to-live und/oder suggested-size zu klein
gewählt.

man nscd.conf
 
suggested-size service prime-number

  This option sets the size of the hash that is used to store the cache
  entries. As this is a hash,it should be reasonably larger than the
  maximum number of entries that is expected to be cached simultaneously
  and should be a prime number. It defaults to a size of 211 entries.

Wenn es lokal und per NIS mehr als 211 EintrÄge in passwd oder group
gibt hilft ein nicht angepaßter nscd nur begrenzt.

-- 
Nicht Absicht unterstellen, wenn auch Dummheit ausreicht!


pgpCs5OdgRtwu.pgp
Description: PGP signature


initgroups und NIS

2006-09-04 Diskussionsfäden Christoph Pleger
Hallo,

Jetzt habe ich wohl die Ursache für mein NIS-Problem (siehe ypbind und
NIS): Der Cron ruft bei jedem Ausführen eines Jobs die Funktion
initgroups() aus, die jedes Mal den kompletten Datensatz group.byname
vom NIS-Server holt. Wenn das 37 Rechner gleichzeitig machen, geht die
Auslastung des NIS-Servers natürlich in die Höhe.

Allerdings frage ich mich, warum die Daten nicht aus dem nscd-Cache
geholt werden. Hat jemand eine Ahnung?

Gruß
  Christoph