<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Samba_Mitgliedsserver</id>
	<title>Samba Mitgliedsserver - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Samba_Mitgliedsserver"/>
	<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Samba_Mitgliedsserver&amp;action=history"/>
	<updated>2026-11-03T00:12:05Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Xinux Wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Samba_Mitgliedsserver&amp;diff=73799&amp;oldid=prev</id>
		<title>Thomas.will: Neue Seite (Kurs Linux - Samba)</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Samba_Mitgliedsserver&amp;diff=73799&amp;oldid=prev"/>
		<updated>2026-10-18T16:46:20Z</updated>

		<summary type="html">&lt;p&gt;Neue Seite (Kurs Linux - Samba)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Kategorie:Samba]]&lt;br /&gt;
&amp;lt;!-- Ablauf: Block &amp;quot;Linux in der Domäne&amp;quot;, Rechner fs --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Kurs !! Lab !! Rechner !! Domäne&lt;br /&gt;
|-&lt;br /&gt;
| [[Linux - Samba]] || [[Linux - Samba Lab]] || fs · 10.2XX.1.31 || ad.it2XX.int&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Einfach erklärt=&lt;br /&gt;
*Ein Mitgliedsserver ist ein Linux-Rechner, der einer Domäne beigetreten ist. Er hat dort ein Maschinenkonto wie ein Windows-Client.&lt;br /&gt;
*Die Benutzer kommen jetzt aus der Domäne. &amp;#039;&amp;#039;&amp;#039;winbind&amp;#039;&amp;#039;&amp;#039; macht sie auf Linux sichtbar, als wären es lokale Benutzer.&lt;br /&gt;
*Jeder Domänenbenutzer braucht unter Linux eine &amp;#039;&amp;#039;&amp;#039;UID&amp;#039;&amp;#039;&amp;#039;. Woher sie kommt, legt die &amp;#039;&amp;#039;&amp;#039;idmap&amp;#039;&amp;#039;&amp;#039; fest.&lt;br /&gt;
*Rechte auf Freigaben kann man jetzt bequem von Windows aus setzen, im Explorer unter &amp;#039;&amp;#039;&amp;#039;Sicherheit&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=Das Wichtigste=&lt;br /&gt;
*Voraussetzungen wie immer: DNS auf den DC, Name richtig, Zeit synchron.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;security = ADS&amp;#039;&amp;#039;&amp;#039;, workgroup und realm passend zur Domäne.&lt;br /&gt;
*Beitreten mit &amp;#039;&amp;#039;&amp;#039;net ads join&amp;#039;&amp;#039;&amp;#039;, prüfen mit &amp;#039;&amp;#039;&amp;#039;net ads testjoin&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Seit Samba 4.21 beschreibt man Keytabs in der smb.conf mit &amp;#039;&amp;#039;&amp;#039;sync machine password to keytab&amp;#039;&amp;#039;&amp;#039; und erzeugt sie mit &amp;#039;&amp;#039;&amp;#039;net ads keytab create&amp;#039;&amp;#039;&amp;#039;. net ads keytab add gibt es nicht mehr.&lt;br /&gt;
&lt;br /&gt;
=Vorbereitung=&lt;br /&gt;
*/etc/hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
127.0.0.1       localhost&lt;br /&gt;
10.201.1.31     fs.ad.it201.int  fs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*hostnamectl set-hostname fs&lt;br /&gt;
*/etc/resolv.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 10.201.1.11&lt;br /&gt;
search ad.it201.int&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Zeit vom DC: /etc/systemd/timesyncd.conf.d/ad.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Time]&lt;br /&gt;
NTP=win-dc.ad.it201.int&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*systemctl restart systemd-timesyncd; timedatectl timesync-status&lt;br /&gt;
*Siehe auch [[Systemd Baustein Zeit und Sitzungen]].&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
*apt install samba winbind libnss-winbind libpam-winbind krb5-user acl smbclient&lt;br /&gt;
*krb5-user fragt nach dem Realm: &amp;#039;&amp;#039;&amp;#039;AD.IT201.INT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*/etc/krb5.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[libdefaults]&lt;br /&gt;
        default_realm = AD.IT201.INT&lt;br /&gt;
        dns_lookup_realm = false&lt;br /&gt;
        dns_lookup_kdc = true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Test: &amp;#039;&amp;#039;&amp;#039;kinit administrator&amp;#039;&amp;#039;&amp;#039; und &amp;#039;&amp;#039;&amp;#039;klist&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=Die smb.conf=&lt;br /&gt;
*mv /etc/samba/smb.conf /etc/samba/smb.conf.orig&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[global]&lt;br /&gt;
   workgroup = AD&lt;br /&gt;
   realm = AD.IT201.INT&lt;br /&gt;
   security = ADS&lt;br /&gt;
&lt;br /&gt;
   idmap config * : backend = tdb&lt;br /&gt;
   idmap config * : range = 3000-7999&lt;br /&gt;
   idmap config AD : backend = rid&lt;br /&gt;
   idmap config AD : range = 10000-999999&lt;br /&gt;
&lt;br /&gt;
   winbind use default domain = yes&lt;br /&gt;
   winbind refresh tickets = yes&lt;br /&gt;
   template shell = /bin/bash&lt;br /&gt;
   template homedir = /home/%U&lt;br /&gt;
&lt;br /&gt;
   vfs objects = acl_xattr&lt;br /&gt;
   map acl inherit = yes&lt;br /&gt;
&lt;br /&gt;
   sync machine password to keytab = /etc/krb5.keytab:spn_prefixes=host:account_name:sync_spns:sync_kvno:machine_password&lt;br /&gt;
&lt;br /&gt;
[daten]&lt;br /&gt;
   path = /srv/samba/daten&lt;br /&gt;
   read only = no&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Option !! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| idmap config * || Bereich für eingebaute Konten wie SYSTEM, darf sich mit nichts überschneiden&lt;br /&gt;
|-&lt;br /&gt;
| idmap config AD : backend = rid || UID = Anfang des Bereichs + RID des Benutzers. Auf allen Servern gleich, ohne Pflege im AD&lt;br /&gt;
|-&lt;br /&gt;
| winbind use default domain || Benutzer heißen max statt AD\max&lt;br /&gt;
|-&lt;br /&gt;
| template shell, template homedir || Shell und Home für Domänenbenutzer&lt;br /&gt;
|-&lt;br /&gt;
| vfs objects = acl_xattr || speichert Windows-Rechte im Dateisystem, damit man sie im Explorer setzen kann&lt;br /&gt;
|-&lt;br /&gt;
| sync machine password to keytab || legt /etc/krb5.keytab an und hält sie aktuell, z.B. für ssh mit Kerberos&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! idmap-Backend !! UID kommt aus !! Wann&lt;br /&gt;
|-&lt;br /&gt;
| rid || der RID des Kontos, also aus der SID || einfach, ohne Unix-Attribute im AD&lt;br /&gt;
|-&lt;br /&gt;
| ad || den Attributen uidNumber und gidNumber im AD || wenn UIDs auch auf Rechnern ohne winbind gleich sein müssen, z.B. NFS&lt;br /&gt;
|-&lt;br /&gt;
| tdb || einer lokalen Datenbank, wird hochgezählt || nur für den Bereich *, nie für die Domäne&lt;br /&gt;
|}&lt;br /&gt;
*testparm&lt;br /&gt;
&lt;br /&gt;
=Beitreten=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kinit administrator&lt;br /&gt;
net ads join -k&lt;br /&gt;
net ads testjoin&lt;br /&gt;
net ads keytab create&lt;br /&gt;
klist -k&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;-k&amp;#039;&amp;#039;&amp;#039; benutzt das Kerberos-Ticket. Alternativ &amp;#039;&amp;#039;&amp;#039;net ads join -U administrator&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Der Beitritt legt den DNS-Eintrag für fs selbst an. Prüfen: &amp;#039;&amp;#039;&amp;#039;host fs.ad.it201.int&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*systemctl restart smbd winbind&lt;br /&gt;
*nmbd braucht ein Mitgliedsserver nur für NetBIOS. Sonst: &amp;#039;&amp;#039;&amp;#039;systemctl disable --now nmbd&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Domänenbenutzer unter Linux==&lt;br /&gt;
*/etc/nsswitch.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
passwd:         files systemd winbind&lt;br /&gt;
group:          files systemd winbind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Home-Verzeichnisse beim ersten Anmelden anlegen lassen:&lt;br /&gt;
*pam-auth-update --enable mkhomedir&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wbinfo -t&lt;br /&gt;
wbinfo -u&lt;br /&gt;
wbinfo -g&lt;br /&gt;
getent passwd max&lt;br /&gt;
id max&lt;br /&gt;
su - max&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;wbinfo -t&amp;#039;&amp;#039;&amp;#039; prüft das Maschinenkonto: &amp;#039;&amp;#039;checking the trust secret … succeeded&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=Freigabe mit Windows-Rechten=&lt;br /&gt;
*Damit Domänen-Admins im Explorer Rechte setzen dürfen, brauchen sie ein Sonderrecht auf dem Server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
net rpc rights grant &amp;quot;AD\Domain Admins&amp;quot; SeDiskOperatorPrivilege -U administrator&lt;br /&gt;
net rpc rights list privileges SeDiskOperatorPrivilege -U administrator&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Das Verzeichnis gehört root und den Domänen-Admins:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p /srv/samba/daten&lt;br /&gt;
chown root:&amp;quot;domain admins&amp;quot; /srv/samba/daten&lt;br /&gt;
chmod 0770 /srv/samba/daten&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Auf win11 als AD\Administrator: &amp;#039;&amp;#039;&amp;#039;\\fs\daten&amp;#039;&amp;#039;&amp;#039;, Rechtsklick, Eigenschaften, &amp;#039;&amp;#039;&amp;#039;Sicherheit&amp;#039;&amp;#039;&amp;#039;. Dort wie bei einem Windows-Server Gruppen hinzufügen, z.B. verwaltung mit Ändern.&lt;br /&gt;
*Unter Linux sieht man das Ergebnis mit &amp;#039;&amp;#039;&amp;#039;getfacl /srv/samba/daten&amp;#039;&amp;#039;&amp;#039; und &amp;#039;&amp;#039;&amp;#039;samba-tool ntacl get /srv/samba/daten&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=Home und Profile=&lt;br /&gt;
*Persönliche Laufwerke für alle Domänenbenutzer:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[homes]&lt;br /&gt;
   browseable = no&lt;br /&gt;
   read only = no&lt;br /&gt;
   valid users = %S&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Im AD beim Benutzer eintragen, Reiter Profil: Basisordner &amp;#039;&amp;#039;&amp;#039;\\fs\%username%&amp;#039;&amp;#039;&amp;#039; als Laufwerk H:&lt;br /&gt;
*Oder mit PowerShell: Set-ADUser max -HomeDrive H: -HomeDirectory \\fs\max&lt;br /&gt;
&lt;br /&gt;
=Prüfen=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Was !! Befehl !! Erwartet&lt;br /&gt;
|-&lt;br /&gt;
| Beitritt || net ads testjoin || Join is OK&lt;br /&gt;
|-&lt;br /&gt;
| Maschinenkonto || wbinfo -t || succeeded&lt;br /&gt;
|-&lt;br /&gt;
| Benutzer || getent passwd max || max:*:11105:10513::/home/max:/bin/bash&lt;br /&gt;
|-&lt;br /&gt;
| Gruppen || id max || … domain users …&lt;br /&gt;
|-&lt;br /&gt;
| Keytab || klist -k || host/fs.ad.it201.int und FS$&lt;br /&gt;
|-&lt;br /&gt;
| Freigabe || smbclient //fs/daten -U max -c ls || kein Fehler&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Stolperfallen=&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;idmap-Bereiche überschneiden sich&amp;#039;&amp;#039;&amp;#039;: Benutzer haben plötzlich falsche Rechte. Die Bereiche von * und AD dürfen sich nie überlappen.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;nsswitch.conf vergessen&amp;#039;&amp;#039;&amp;#039;: wbinfo -u zeigt Benutzer, getent passwd max aber nicht.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Rechte im Explorer lassen sich nicht setzen&amp;#039;&amp;#039;&amp;#039;: SeDiskOperatorPrivilege fehlt oder acl_xattr ist nicht eingetragen.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Alte Anleitungen&amp;#039;&amp;#039;&amp;#039; mit net ads keytab add: Gibt es seit Samba 4.21 nicht mehr. Stattdessen sync machine password to keytab.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Snapshot zurückgesetzt&amp;#039;&amp;#039;&amp;#039;: Das Maschinenpasswort auf fs ist alt, wbinfo -t scheitert. Neu beitreten.&lt;br /&gt;
&lt;br /&gt;
=Übungen=&lt;br /&gt;
==Grundübungen==&lt;br /&gt;
#Bereiten Sie fs vor und holen Sie sich als administrator ein Kerberos-Ticket.&lt;br /&gt;
#Schreiben Sie die smb.conf, prüfen Sie mit testparm und treten Sie der Domäne bei.&lt;br /&gt;
#Prüfen Sie den Beitritt mit allen Befehlen aus „Prüfen“. Welche UID hat max, und wie errechnet sie sich aus seiner SID?&lt;br /&gt;
#Melden Sie sich per ssh als max an fs an. Wird das Home-Verzeichnis angelegt?&lt;br /&gt;
#Richten Sie die Freigabe daten ein und setzen Sie die Rechte von win11 aus. Prüfen Sie mit getfacl.&lt;br /&gt;
#Geben Sie max ein Home-Laufwerk H: auf fs.&lt;br /&gt;
==Vertiefung==&lt;br /&gt;
#Vergleichen Sie wbinfo -n max und wbinfo -S &amp;amp;lt;SID&amp;amp;gt;. Was ist die RID?&lt;br /&gt;
#Stellen Sie auf idmap ad um. Was müssen Sie dafür im AD eintragen?&lt;br /&gt;
#Wie oft ändert winbind das Maschinenpasswort? Lösen Sie es mit net ads changetrustpw von Hand aus und prüfen Sie danach klist -k.&lt;br /&gt;
#Was steht im AD jetzt beim Computerkonto FS? Get-ADComputer fs -Properties *&lt;br /&gt;
==Fehlersuche==&lt;br /&gt;
;1. net ads join meldet: Failed to join domain: failed to lookup DC info&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
fs findet den DC nicht. /etc/resolv.conf zeigt nicht auf 10.2XX.1.11. host -t SRV _ldap._tcp.ad.it2XX.int prüfen.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
;2. wbinfo -u zeigt Benutzer, aber id max sagt: no such user&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
In /etc/nsswitch.conf fehlt winbind bei passwd und group.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
;3. kinit administrator meldet: Cannot find KDC for realm &amp;quot;ad.it2XX.int&amp;quot;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Der Realm ist klein geschrieben. Kerberos-Realms sind in Großbuchstaben: kinit administrator@AD.IT2XX.INT, und default_realm in /etc/krb5.conf prüfen.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
;4. Nach dem Zurücksetzen der VM auf einen Snapshot scheitert wbinfo -t&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Das Maschinenpasswort hat sich seit dem Snapshot geändert. net ads join -k noch einmal ausführen.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
;5. Im Explorer kommt beim Setzen von Rechten: Zugriff verweigert&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Die Domänen-Admins haben SeDiskOperatorPrivilege nicht, oder /srv/samba/daten gehört nicht root:&amp;quot;domain admins&amp;quot;. net rpc rights list privileges SeDiskOperatorPrivilege&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Vertiefung=&lt;br /&gt;
*[[Debian Samba ADS Member]] · [[Kerberos client samba]] · [[Samba-tool ntacl]]&lt;br /&gt;
*https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Domain_Member&lt;br /&gt;
&lt;br /&gt;
=Weiter=&lt;br /&gt;
*[[Linux-Client in der Domäne]] · [[Kerberos für Dienste]]&lt;br /&gt;
*[[Linux - Samba|Zurück zur Kursseite]]&lt;/div&gt;</summary>
		<author><name>Thomas.will</name></author>
	</entry>
</feed>