USAGE des Programms ausgeben

ldap_get_object


Alle Attribute auflisten, die Benutzer $USER gesetzt bekommt, 
entweder durch seinen eigenen Knoten oder durch POSIX-Gruppen/Objekgruppen 
in denen er Mitglied ist oder durch Objekgruppen, die POSIX-Gruppen enthalten,
in denen er Mitglied ist.

ldap_get_object -user=$USER

Um Herauszufinden, woher einzelne Attribute kommen, kann der -debug Switch
übergeben werden. Damit gibt das Programm vor dem Endresultat alle Knoten
aus, aus denen Attribute gezogen werden.

ldap_get_object -user=$USER -debug


Alle Attribute auflisten, die das System $HOSTNAME gesetzt bekommt,
entweder durch seinen eigenen Knoten oder durch Objektgruppen, in denen es
Mitglied ist. (Anmerkung: Der Switch -object erwartet ein Paar objectClass/cn
oder objectClass/ou)

./ldap_get_object -object=gotoWorkstation/$HOSTNAME


Alle Attribute auflisten, die jemand bekommt, wenn man ihn in die POSIX-Gruppe
"camera" steckt, entweder durch den Knoten der Gruppe selbst oder durch
Objektgruppen, die die Gruppe "camera" enthalten. Da es mehrere "camera"
Gruppen gibt müssen wir anhand des gosaUnitTag filtern.

./ldap_get_object -object=posixGroup/camera -filter="gosaUnitTag=1152296234058713500"


Alle Attribute auflisten, die der Benutzer $USER bekommt und die im Namen irgendwo
"uid" enthalten. Anmerkung: Da dies auch Attribute listet, die der Benutzer über
Gruppen bekommt, listet dieser Befehl auch alle Personen auf (memberUid), die
mindestens eine Gruppe gemeinsam haben mit $USER.

ldap_get_object -user=$USER "@.*uid.*"


Alle mit der Profilsync im Zusammenhang stehenden Attribute ausgeben, die von irgendeinem
Knoten auf $USER potentiell Einfluss haben könnten. Anmerkung: Das @ vor dem regulären[B
Ausdruck sagt ldap_get_object, dass es alle Attributwerte ausgeben soll, d.h. wenn der
Benutzer das Attribut gotoprofileflags sowohl durch seinen eigenen Knoten als auch durch
eine Objekgruppe gesetzt bekommt, so werden 2 Werte aufgelistet (jedoch nur wenn sie
verschieden sind).

ldap_get_object -user=$USER "@gotoprofile.*"


Die mit der Profilsync im Zusammenhang stehenden Attribute ausgeben, die effektiv für
den Benutzer gültig sind. Der kleine Unterschied zum vorigen Befehl ist das Fehlen des @.
Ohne das @ wird die auch in den goto-agents Skripten implementierte Konfliktauflösung
verwendet, nämlich dass ein Attribut im Knoten des Benutzers Vorrang hat vor einem
Attribut aus einer POSIX-Gruppe, das wiederum Vorrang hat vor einem Attribut aus
einer Objektgruppe, die $USER enthält, was wiederum Vorrang hat vor einem Attribut aus
einer Objektgruppe, die eine POSIX-Gruppe enthält, die den Benutzer enthält.
Hinweis: Sollte der Benutzer das selbe Attribut aus 2 Quellen gleicher Präzedenz
bekommen (typischer Konfigurationsfehler), so gibt das Skript eine Warnung aus. Dies
ist sehr nützlich zum Debuggen des Problems
"Aber ich habe hier bei der Gruppe doch ... eingestellt. Wieso greift das nicht?"

ldap_get_object -user=$USER "gotoprofile.*"


Das Attribut hobjwt dekodiert ausgeben. Per Default gibt ldap_get_object alle 
Attributwerte, die Steuerzeichen enthalten (d.h. ASCII-Code <32) Base64-kodiert 
aus. Über -enctrigger=none lässt sich die Kodierung komplett abschalten.
Ein fix_ldif muss mit ldap_get_object nie verwendet werden.
Anmerkung: -enctrigger erwartet einen regulären Ausdruck (oder none). Wenn irgenein
Teil eines Attributswertes darauf passt, so wird Base64-Kodierung verwendet.

ldap_get_object -user=$USER -enctrigger=none "hobjwt"


Alle Attribute von $USER Base64-kodiert ausgeben.
Anmerkung: -enctrigger erwartet einen regulären Ausdruck (oder none). Wenn irgendein
Teil eines Attributswertes darauf passt, so wird Base64-Kodierung verwendet.

ldap_get_object -user=$USER -enctrigger="."


Den effektiv gültigen Profilserver ausgeben ohne vorangestellten Attributnamen
und unabhängig vom Wert ohne Base64-Kodierung.
(z.B. nützlich für die Weiterverarbeitung in Shell-Skripten, wo es einem die
Verwendung von awk zum Herausgreifen des zweiten Feldes spart).

ldap_get_object -format=v -enctrigger=none -user=$USER "gotoprofileserver"


Alle POSIX-Gruppen (samt all ihrer Attribute) ausgeben.

ldap_get_object -object=organizationalUnit/groups \
     -filter="gosaUnitTag=1152296234058713500" \
     -subquery="objectClass=posixGroup"


Alle Gruppen ausgeben (POSIX und Objektgruppen) samt ihrer Attribute.

ldap_get_object -object=organizationalUnit/groups \
     -filter="gosaUnitTag=1152296234058713500" \
     -subquery="objectClass=*"


Alle Systeme ausgeben (samt all ihrer Attribute)

./ldap_get_object -object=organizationalUnit/systems \
                  -filter="gosaUnitTag=1152296234058713500" \
                  -subquery="objectClass=*" 


Auf BC 2.0 die Menüstruktur ausgeben, die der Benuter $USER für das Release
halut/2.0.0beta1 bekommt:

ldap_get_object -user=$USER -subquery="objectClass=gotoMenuEntry" "@halut/2.0.0beta1/.*"

