Univention Bugzilla – Attachment 3409 Details for
Bug 21882
DCSlave umbenennen via System-Setup ändert Gruppenmitgliedschaften nicht
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
rename computer test script
computer-rename-test.sh (text/plain), 3.89 KB, created by
Felix Botner
on 2011-07-27 14:19:52 CEST
(
hide
)
Description:
rename computer test script
Filename:
MIME Type:
Creator:
Felix Botner
Created:
2011-07-27 14:19:52 CEST
Size:
3.89 KB
patch
obsolete
>#!/bin/bash > >eval "$(ucr shell)" > >testRename () { > > > local lw="ldapsearch-wrapper" > > local role=$1 > local dnsDhcp=$2 > local typ=${role/*_/} > local newName=neuer$typ$dnsDhcp$$ > local grpName=grp-$typ$dnsDhcp$$ > local name=old$typ$dnsDhcp$$ > local mac=$(openssl rand 6 | xxd -p | sed 's/\(..\)/\1:/g; s/:$//') > local ip=$(ldapsearch -x -b cn=default,cn=networks,$ldap_base|$lw|grep univentionNextIp| awk '{print $2}') > local fzone=$(ldapsearch -x -b cn=default,cn=networks,$ldap_base|$lw|grep univentionDnsForwardZone|awk '{print $2}') > local rzone=$(ldapsearch -x -b cn=default,cn=networks,$ldap_base|$lw|grep univentionDnsReverseZone|awk '{print $2}') > local dzone=$(ldapsearch -x -b cn=default,cn=networks,$ldap_base|$lw|grep univentionDhcpEntry|awk '{print $2}') > ip=$(echo $ip| awk -F . '{print $1"."$2"."$3"."$4 + 1}') > > echo "dn: cn=default,cn=networks,dc=univention,dc=qa >changetype: modify >replace: univentionNextIp >univentionNextIp: $ip >" | ldapmodify -D "cn=admin,$ldap_base" -w $(< /etc/ldap.secret) > > if [ -n "$dnsDhcp" ]; then > extra="--set mac=$mac --set ip=$ip " > extra="$extra --set dnsEntryZoneReverse=$rzone" > extra="$extra --set dnsEntryZoneForward=$fzone" > dd="$dzone $ip $mac" > fi > > udm groups/group create \ > --position cn=groups,$ldap_base \ > --set name=$grpName > > > > udm computers/$role create \ > --position "cn=computers,$ldap_base" \ > --set name="$name" $extra > > if [ -n "$dnsDhcp" ]; then > udm computers/$role modify \ > --dn "cn=$name,cn=computers,$ldap_base" \ > --set dhcpEntryZone="$dd" > fi > > > udm groups/group modify \ > --dn "cn=$grpName,cn=groups,$ldap_base" \ > --set name=$grpName \ > --append hosts=cn="$name",cn=computers,$ldap_base > > udm computers/$role modify \ > --dn "cn=$name,cn=computers,$ldap_base" \ > --set name="$newName" > > # memberuid an primärer gruppe > gid=$(ldapsearch -LLL -x cn=$newName gidNumber | $lw | grep gidNumber | awk '{print $2}') > muid=$(ldapsearch -LLL -x "(&(gidNumber=$gid)(memberuid=$newName$))" memberUid | $lw | grep memberUid | head -1) > unqm=$(ldapsearch -LLL -x "(&(gidNumber=$gid)(uniqueMember=cn=$newName,cn=computers,$ldap_base))" uniqueMember | $lw | grep uniqueMember | head -1) > if [ -z "$muid" -o -z "$unqm" ]; then > echo "no memberuid/or uniqueMember in primary group of $newName" > exit 1 > fi > > # test membership in grp1 > muid2=$(ldapsearch -LLL -x "(&(cn=$grpName)(memberUid=$newName$))" memberUid | $lw | grep memberUid | head -1) > unqm2=$(ldapsearch -LLL -x "(&(cn=$grpName)(uniqueMember=cn=$newName,cn=computers,$ldap_base))" uniqueMember | $lw | grep uniqueMember | head -1) > if [ -z "$muid2" -o -z "$unqm2" ]; then > echo "no memberuid/or uniqueMember in group of $newName" > exit 1 > fi > > # check existens of oldname in ldap > ldapsearch -x | grep -v krb5PrincipalName | grep $name > if [ $? -eq 0 ]; then > echo found $name in ldap > exit 1 > fi > > if [ -n "$dnsDhcp" ]; then > fqdn="$newName.$domainname" > fztest=$(udm dns/host_record list --superordinate "$fzone" --filter name="$newName"| grep DN) > retest=$(udm dns/ptr_record list --superordinate "$rzone" --filter ptr_record="$fqdn."| grep DN) > dhtest=$(udm dhcp/host list --superordinate "$dzone" --filter host="$newName"| grep DN) > if [ -z "$dhtest" -o -z "$fztest" -o -z "$retest" ]; then > echo "dhcp/dns failed for $newName" > exit 1 > fi > fi > > > read > > udm computers/$role remove --dn "cn=$newName,cn=computers,$ldap_base" --remove_referring > udm groups/group remove --dn "cn=$grpName,cn=groups,$ldap_base" > >} > >testRename "domaincontroller_slave" >testRename "domaincontroller_backup" >testRename "domaincontroller_master" >testRename "macos" >testRename "managedclient" >testRename "memberserver" >testRename "mobileclient" > >testRename "domaincontroller_slave" "true" >testRename "domaincontroller_backup" "true" >testRename "domaincontroller_master" "true" >testRename "macos" "true" >testRename "managedclient" "true" >testRename "memberserver" "true" >testRename "mobileclient" "true" > >##thinclient >##ipmanagedclient >##windows >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 21882
: 3409