

<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>shell &#8211; OmnesPRO GmbH</title>
	<atom:link href="https://www.omnespro.ch/post/tag/shell/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.omnespro.ch</link>
	<description></description>
	<lastBuildDate>Tue, 09 Jun 2026 23:46:45 +0000</lastBuildDate>
	<language>de-CH</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://www.omnespro.ch/wp-content/uploads/2023/07/cropped-OmnesPRO-final-large-32x32.png</url>
	<title>shell &#8211; OmnesPRO GmbH</title>
	<link>https://www.omnespro.ch</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Samba 4 AD: Gruppe mit Berechtigungen für Domänenbeitritt versehen</title>
		<link>https://www.omnespro.ch/post/samba-4-ad-gruppe-mit-berechtigungen-fuer-domaenenbeitritt-versehen/</link>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Wed, 27 Dec 2023 21:12:55 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[ad]]></category>
		<category><![CDATA[domainjoin]]></category>
		<category><![CDATA[gewusstwie]]></category>
		<category><![CDATA[hint]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tom.aeby@omnespro.ch]]></category>
		<guid isPermaLink="false">https://omnespro.fuertests.ch/post/samba-4-ad-gruppe-mit-berechtigungen-fuer-domaenenbeitritt-versehen/</guid>

					<description><![CDATA[Ein auf Samba 4 basierendes Active Directory kann mit den (graphischen) Tools von Microsoft verwaltet werden. Oftmals ist es aber ganz praktisch, wenn man auf dem Server selbst die eine oder andere Aufgabe versehen kann ohne sich durch die AD-Tools auf einem Windows-Rechner quälen zu müssen. Eine dieser ganz simplen und oft benötigten Aufgaben ist [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Ein auf Samba 4 basierendes Active Directory kann mit den (graphischen) Tools von Microsoft verwaltet werden. Oftmals ist es aber ganz praktisch, wenn man auf dem Server selbst die eine oder andere Aufgabe versehen kann ohne sich durch die AD-Tools auf einem Windows-Rechner quälen zu müssen.</p>
<p>Eine dieser ganz simplen und oft benötigten Aufgaben ist das Einrichten einer Gruppe, deren Mitglieder das Recht erhalten, Rechner in die Domäne aufzunehmen. Tatsächlich ist diese Aufgabe mit samba-tool zu bewältigen, auch wenn die Lösung alles andere als naheliegend ist.</p>
<p>Wir verwenden dazu das folgende Skript:</p>
<pre><code>#!/bin/sh

user=Administrator
stty -echo
read -p "Password for $user: " pw
echo ""
stty echo
read -p "Group: " group

objectsid=`ldbsearch -H ldap://localhost  \
-U "Administrator%$pw" "(&amp;(objectclass=group)(cn=$group))" \
objectSid | \
sed -e ':a;$!{N;ba};s/\n //g' -e 's/.*objectSid: //' -e 's/\n.*//' -n -e '/^S-1/p'`
if [ "$objectsid" = "" ]; then
    echo Group $group not found
    exit 1
fi
echo "Group SID: $objectsid"

dn=`ldbsearch -H ldap://localhost  \
-U "Administrator%$pw" "(&amp;(objectclass=container)(cn=computers))" \
dn | \
sed -e ':a;$!{N;ba};s/\n //g' -e 's/.*dn: //' -e 's/\n.*//' -n -e '/=/p'`
if [ "$dn" = "" ]; then
    echo "Computers container not found"
    exit 1
fi
echo "Computers DN: $dn"

samba-tool dsacl set --action=allow --objectdn="$dn" \
--sddl="(OA;CI;CCDC;BF967A86-0DE6-11D0-A285-00AA003049E2;;$objectsid)"\
"(OA;CIIO;SWWP;F3A64788-5306-11D1-A9C5-0000F80367C1;BF967A86-0DE6-11D0"\
"-A285-00AA003049E2;$objectsid)(OA;CIIO;SWRPWP;72E39547-7B18-11D1-ADEF"\
"-00C04FD8D5CD;BF967A86-0DE6-11D0-A285-00AA003049E2;$objectsid)(OA;CIIO;"\
"RPWP;4C164200-20C0-11D0-A768-00AA006E0529;BF967A86-0DE6-11D0-A285-"\
"00AA003049E2;$objectsid)(OA;CIIO;CR;00299570-246D-11D0-A768-00AA006E0529;"\
"BF967A86-0DE6-11D0-A285-00AA003049E2;$objectsid)"

</code></pre>
<p>
	Um das Skript zu nutzen muss bereits eine Gruppe existieren. Deren Name wird vom Skript ebenso abgefragt wie das Passwort des Administrators. Per ldbsearch wird dann die SID der Gruppe und die DN des Computers-Container eruiert. Mittels samba-tool werden&nbsp;für die gefundene Gruppe die nötigen Berechtigungen erteilt.</p>
<p>Referenz:&nbsp;<a href="http://blog.stevecoinc.com/2017/04/delegating-domain-join-privileges-in.html" target="_blank">Delegating domain join privileges in Samba 4 from the command line (or not)</a>&nbsp;sowie<a href="http://www.selfadsi.org/deep-inside/ad-security-descriptors.htm" target="_blank">&nbsp;Active Directory Permissions : Security Descriptors</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>ldapsearch / ldbsearch ohne zusätzliche Zeilenumbrüche</title>
		<link>https://www.omnespro.ch/post/ldapsearch-ldbsearch-ohne-zusaetliche-zeilenumbrueche/</link>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Wed, 27 Dec 2023 21:05:25 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[gewusstwie]]></category>
		<category><![CDATA[hint]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[ldbsearch]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tom.aeby@omnespro.ch]]></category>
		<guid isPermaLink="false">https://omnespro.fuertests.ch/post/ldapsearch-ldbsearch-ohne-zusaetliche-zeilenumbrueche/</guid>

					<description><![CDATA[Tools wie ldapsearch und ldbsearch sind n&#252;tzlich, um auf der Kommandozeile auf LDAP-Verzeichnisse zuzugreifen. Wer sie auch in Skripten verwenden m&#246;chte, freut sich nicht unbedingt dar&#252;ber, dass beide im Output Zeilen mit mehr als 79 Zeichen mit einem Zeilenumbruch versehen. Das ist zwar durchaus konform mit der Spezifikation des verwendeten LDIF-Formates, f&#252;r einfache Skripte jedoch [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Tools wie ldapsearch und ldbsearch sind n&uuml;tzlich, um auf der Kommandozeile auf LDAP-Verzeichnisse zuzugreifen. Wer sie auch in Skripten verwenden m&ouml;chte, freut sich nicht unbedingt dar&uuml;ber, dass beide im Output Zeilen mit mehr als 79 Zeichen mit einem Zeilenumbruch versehen. Das ist zwar durchaus konform mit der Spezifikation des verwendeten LDIF-Formates, f&uuml;r einfache Skripte jedoch m&uuml;hsam.</p>
<h2>ldapsearch (aktuelle Version)</h2>
<p>Der Fall liegt bei ldapsearch mittlerweile recht einfach. Aktuelle Versionen von ldapsearch erlauben es n&auml;mlich, den automatischen Zeilenumbruch auszuschalten, so dass mit einem</p>
<pre><code>ldapsearch -o ldif-wrap=no ...</code></pre>
<p>
	daf&uuml;r gesorgt ist, dass keine Zeilenumbr&uuml;che eingef&uuml;gt werden.</p>
<h2>ldbsearch / ldapsearch (&auml;ltere Versionen)</h2>
<p>Tools, die keine M&ouml;glichkeit bieten, das Einf&uuml;gen von Zeilenumbr&uuml;chen zu verhindern, muss man diese Funktion beibringen. Auf den meisten Systemen findet sich sed. Unter Mithilfe von sed k&ouml;nnen die eingef&uuml;gten Zeilenumbr&uuml;che auch wieder entfernt werden, etwa so:</p>
<pre><code>ldbsearch ... | sed ':a;$!{N;ba};s/\n //g'</code></pre>
<p>
	Bei dieser Variante handelt es sich um eine sehr simple, die allerdings nicht besonders effizient ist. In der Regel spielt letzteres ausser bei gr&ouml;sseren Datenmengen keine besondere Rolle.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
