On 03/23/2012 11:43 PM, Paul van der Vlis wrote: > Op 22-03-12 10:39, Paul van der Vlis schreef: >> Op 21-03-12 23:24, Heiko Noordhof schreef: >>> On 03/21/2012 08:35 PM, Paul van der Vlis wrote: >>>> Hallo, >>>> >>>> Het blijkt dat als je een LDAP user opruimd, zijn/haar lidmaatschappen >>>> aan groepen gewoon blijven bestaan. Tenminste, zoals ik dat doe. >>>> >>>> Mocht je dan dezelfde username later nogmaals gaan gebruiken, dan is >>>> diegene opeens lid van de groepen van de vorige user. >>>> Niet de bedoeling. >>>> >>>> Weten jullie een handige manier om alle lidmaatschappen van een user op >>>> te ruimen? >>> Hallo, >>> >>> Zoiets kan "met de hand" zo: >>> >>> # Als root uiteraard >>> bash# groups piet >>> piet : piet >>> >>> bash# adduser piet adm >>> bash# adduser piet dialout >>> >>> bash# groups piet >>> piet : piet adm dialout >> Oh, dat is een leuk commando met een nette output. >> Ik gebruik normaal "id". >> >>> bash# deluser piet adm >>> bash# groups piet >>> piet : piet dialout >>> >>> Om een account uit alle groepen te halen (behalve de primary group): >>> >>> bash# id piet >>> uid=1004(piet) gid=1005(piet) >>> groups=4(adm),20(dialout),24(cdrom),128(openldap),1005(piet) >>> >>> bash# for GRP in $(id -nG piet | sed 's/[^ ]* //') ; do deluser piet >>> $GRP ; done >>> Removing user `piet' from group `adm' ... >>> Done. >>> Removing user `piet' from group `dialout' ... >>> Done. >>> Removing user `piet' from group `cdrom' ... >>> Done. >>> Removing user `piet' from group `openldap' ... >>> Done. >> Ah, toch met "id"... Bedankt. > Ik gebruik nu onderstaande. Maar ik hoorde dat er ook een plugin (of > zoiets) voor slapd zou zijn die dit ook kan.
Hoi, Ja. Dat is de overlay "refint" voor slapd. Zelf nooit gebruikt, maar je vindt meer info in "man slapo-refint". Groeten, Heiko > # remove membership of groups: > for GRP in $(id -nG $user | sed 's/[^ ]* //'); do > TMPLDIF=$(tempfile) > echo -n "" >$TMPLDIF > echo "dn: cn=$GRP,ou=groups,$ldaproot" >>$TMPLDIF > echo "changetype: modify" >>$TMPLDIF > echo "delete: memberUid" >>$TMPLDIF > echo "memberUid: $user" >>$TMPLDIF > ldapmodify -xD "cn=admin,$ldaproot" -w "$ldappw" -f $TMPLDIF > rm $TMPLDIF > done > > > > -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]
