Logo faq-o-matic.net
Logo faq-o-matic.net

SCVMM, Linux Templates und Domain Integration (Teil 2)

von veröffentlicht am6. Februar 2018, 06:43 Uhr Kurzlink und Zitatlink einblenden
Kategorie Kategorie: Linux, System Center, Virtualisierung   Translate with Google Translate Translate EN   Die angezeigte Seite drucken
Zuletzt aktualisiert: 18. März 2018

Dieser Artikel ist der zweite Teil einer dreiteiligen Serie. Der vorherige Teil der Serie ist hier zu finden.

In diesem Teil wird ein Deployment Script erarbeitet und eingerichtet, welches den eigentlichen Domain Join und die dynamische DNS Aktualisierung übernimmt.

Rahmenbedingungen:

In diesem Artikel werden ergänzend die folgenden Variablen benutzt:

Scriptpfad /opt/joinDomain.sh
Domain Join Service Account svc-linux-domainjoin
Passwort 061Wvx1A7pbN94
Syntax für Admingruppen SG-%ComputerName%-LocalAdmins

Einrichtung

Wenn wir, wie im vorherigen Beitrag beschrieben, PowerBroker (Open-) Identity Service heruntergeladen haben und ohne Fehler installieren konnten, steht uns nun die „domainjoin-cli“ zur Verfügung, welche wir uns im Join Script zur nutze machen werden. Naheliegenderweise erweiterten wir mit dem Script ebenfalls die Datei „/etc/sudoers“ um eine Administrative Gruppe nach dem oben genannten Namensschema. Zusätzlich richten wir einen stündliche Cronjob ein, welcher den DNS Hostname des Systems im Windows DNS Server registriert.

Hinweis: Hier wird explizit auf die v4 Adressen gefiltert, dies kann durch v6 erweitert werden, indem man den Regex, welcher im Script definiert ist entsprechend abändert.

Da wir leider keinerlei Möglichkeit haben, auf den RunAs-User des SCVMMs zuzugreifen, müssen wir an dieser Stelle ein Passwort in das Script fest einspeichern. Dieser Account benötigt allerdings lediglich das Recht, Computer in das Active Directory aufzunehmen.

Auch hier ein weiterer Hinweis: Standardmäßig steht das Attribut „MSDS-MachineAccountQuota“ auf 10, somit kann ein normaler Account ohne weitere Rechte (z.B. durch die Gruppe Account Operators oder eine spezielle ACL) lediglich 10 Computer in das Active Directory aufnehmen.

Dafür speichern wir das folgende Script unter dem oben definierten Script Pfad ab:

#!/bin/sh
#Join the domain
/opt/pbis/bin/domainjoin-cli join contoso.com svc-linux-domainjoin@contoso.com "061Wvx1A7pbN94";
#Wait a few seconds for all services to recover
sleep 30s;
#Define some basic settings
/opt/pbis/bin/config UserDomainPrefix CONTOSO;
/opt/pbis/bin/config AssumeDefaultDomain true;
/opt/pbis/bin/config LoginShellTemplate /bin/bash;
/opt/pbis/bin/config HomeDirTemplate %H/%U;
/opt/pbis/bin/config RequireMembershipOf CONTOSO\\domain-users;
/opt/pbis/bin/config UserNotAllowedError "Active Directory: Access Denied";
#Trigger a DDNS Update using all of our IPv4 Addresses
/opt/pbis/bin/update-dns --ipaddress $(ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1  -d'/');
#Schedule a hourly DDNS Update using all of our IPv4 Addresses
echo "#!/bin/bash" > /etc/cron.hourly/ad-ddns-update;
echo "/opt/pbis/bin/update-dns --ipaddress \$(ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print \$2}' | cut -f1  -d'/')" >> /etc/cron.hourly/ad-ddns-update;
#Assign executable permissions to the cronjob
chmod +x /etc/cron.hourly/ad-ddns-update;
#Adjust our sudoers file
echo "%sg-$(hostname | tr [A-Z] [a-z])-LocalAdmins ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers; 

Hat man die Datei unter dem vorher definierten Pfad gespeichert, so muss man diese noch mit dem Kommando „chmod +x /opt/joinDomain.sh“ ausführbar machen.

Ausblick
In dem kommenden Beitrag wird die erzeugte virtuelle Maschine durch zu einem Template konvertiert und durch entsprechende runOnce Kommandos erweitert.

© 2005-2017 bei faq-o-matic.net. Alle Rechte an den Texten liegen bei deren Autorinnen und Autoren.

Jede Wiederveröffentlichung der Texte oder von Auszügen daraus - egal ob kommerziell oder nicht - bedarf der ausdrücklichen Genehmigung durch die jeweiligen Urheberinnen oder Urheber.

Das Impressum findet sich unter: http://www.faq-o-matic.net/impressum/

Danke, dass du faq-o-matic.net nutzt. Du hast ein einfaches Blog sehr glücklich gemacht!