Re: Netjes opruimen van LDAP users
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
>
>
>
>
Reply to: