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. Maar het lijkt alsof "deluser" problemen heeft met ldap-groepen: -------- xen6:/usr/local/sbin# id piet55 uid=2031(piet55) gid=2031(piet55) groups=2031(piet55),3001(testje25) xen6:/usr/local/sbin# for GRP in $(id -nG piet55 | sed 's/[^ ]* //') ; do deluser piet55 $GRP ; done Removing user `piet55' from group `testje25' ... gpasswd: group 'testje25' does not exist in /etc/group /usr/sbin/deluser: `/usr/bin/gpasswd -M testje25' returned error code 3. Exiting. -------- Maar ik heb wel een alternatief voor deluser, dus ik kan er wel iets van maken: -------- TMPLDIF=$(tempfile) echo -n "" >$TMPLDIF echo "dn: cn=$group,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 -------- Groet, Paul. -- Paul van der Vlis Linux systeembeheer, Groningen http://www.vandervlis.nl -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]
