<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.xinux.net/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://www.xinux.net/index.php?action=history&amp;feed=atom&amp;title=Samba_Mitgliedsserver"/>
	<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Samba_Mitgliedsserver&amp;action=history"/>
	<updated>2026-10-21T13:46:09Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Xinux Wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://www.xinux.net/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://www.xinux.net/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. '''winbind''' macht sie auf Linux sichtbar, als wären es lokale Benutzer.&lt;br /&gt;
*Jeder Domänenbenutzer braucht unter Linux eine '''UID'''. Woher sie kommt, legt die '''idmap''' fest.&lt;br /&gt;
*Rechte auf Freigaben kann man jetzt bequem von Windows aus setzen, im Explorer unter '''Sicherheit'''.&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;
*'''security = ADS''', workgroup und realm passend zur Domäne.&lt;br /&gt;
*Beitreten mit '''net ads join''', prüfen mit '''net ads testjoin'''.&lt;br /&gt;
*Seit Samba 4.21 beschreibt man Keytabs in der smb.conf mit '''sync machine password to keytab''' und erzeugt sie mit '''net ads keytab create'''. 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: '''AD.IT201.INT'''&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: '''kinit administrator''' und '''klist'''&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;
*'''-k''' benutzt das Kerberos-Ticket. Alternativ '''net ads join -U administrator'''.&lt;br /&gt;
*Der Beitritt legt den DNS-Eintrag für fs selbst an. Prüfen: '''host fs.ad.it201.int'''&lt;br /&gt;
*systemctl restart smbd winbind&lt;br /&gt;
*nmbd braucht ein Mitgliedsserver nur für NetBIOS. Sonst: '''systemctl disable --now nmbd'''&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;
*'''wbinfo -t''' prüft das Maschinenkonto: ''checking the trust secret … succeeded''&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: '''\\fs\daten''', Rechtsklick, Eigenschaften, '''Sicherheit'''. Dort wie bei einem Windows-Server Gruppen hinzufügen, z.B. verwaltung mit Ändern.&lt;br /&gt;
*Unter Linux sieht man das Ergebnis mit '''getfacl /srv/samba/daten''' und '''samba-tool ntacl get /srv/samba/daten'''.&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 '''\\fs\%username%''' 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;
*'''idmap-Bereiche überschneiden sich''': Benutzer haben plötzlich falsche Rechte. Die Bereiche von * und AD dürfen sich nie überlappen.&lt;br /&gt;
*'''nsswitch.conf vergessen''': wbinfo -u zeigt Benutzer, getent passwd max aber nicht.&lt;br /&gt;
*'''Rechte im Explorer lassen sich nicht setzen''': SeDiskOperatorPrivilege fehlt oder acl_xattr ist nicht eingetragen.&lt;br /&gt;
*'''Alte Anleitungen''' mit net ads keytab add: Gibt es seit Samba 4.21 nicht mehr. Stattdessen sync machine password to keytab.&lt;br /&gt;
*'''Snapshot zurückgesetzt''': 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>