looneytune
Goto Top

Account Mapping root-administrator

Hallo,

ich bin neu hier im Forum, also vorab schonmal sorry falls ich nicht alle Gepflogenheiten zu Anfang verinnerlicht habe.

Ich habe in der Firma einen Samba Server aufgesetzt (Samba 3.0.22, Winbind, Heimdall-Kerberos). Die Konfiguration sieht mittlerweile so aus, dass der Samba sich die zugriffsberechtigten User vom Domänencontroller holt. das klappt soweit auch alles (wbinfo -u / -g ist sauber, Shares können auch gemounted werde). Nun würde ich die Zugriffsrechte gerne Zentral vom Domänencontroller aus verwalten. Also Berechtigungen für verschiedenen Ordner im Win-Explorer setzen können. Das funktioniert aber nicht, weil angeblich keine Zugriffsberechtigung für diesen Vorgang besteht (bin am Rechner als Domänenadmin eingeloggt). Kann es sein, dass das Mapping des Domänenadmins auf den Samba-Root Account also nicht funktioniert bzw. gesetzt ist? Wie bringe ich Samba diese Information bei?

Danke im Voraus,
Mario

Content-ID: 45683

Url: https://administrator.de/contentid/45683

Ausgedruckt am: 23.11.2024 um 12:11 Uhr

18697
18697 30.11.2006 um 20:22:38 Uhr
Goto Top
Meistens liegt das Problem darin, dass Linux den Windows-Benutzer nicht kennt. Um Dateien und Verzeichnisse auf dem Linux-Rechner erstellen zu können, muss Linux eine UID und GID vom Windows-Benutzer haben. Diese wird im Normalfall von NSS (Name Switch Service) geliefert. Meines Wissen sollte folgendes unter Linux funktionieren (ich verwende nur FreeBSD): Als root "getent passwd" eingeben, sollte auch die Windows-Benutzeraccounts auflisten.
LooneyTune
LooneyTune 01.12.2006 um 17:41:27 Uhr
Goto Top
Hallo Andreas,

das stimmt im Grundsatz. Aber über den Schritt bin ich schon weg. Samba holt sich ja die Gruppen und User korrekt. Am Rechner selbst logge ich mich auch via ssh mit meinem Domänenaccount ein. Es geht eben nur um das Mapping Administrator -> Root. Vielleicht wirds so deutlicher:

am DC hole ich mir in der Netzwerkumgebung das Samba-Share. Jetzt möchte ich einem Ordner darin gewisse Zugriffsrechte geben. Die bestehenden sind "root" --> darf alles u. "jeder" --> darf lesen. Wie sage ich ihm jetzt, dass ich als Domänenadmin ja eigentlich "root" bin und hier Änderungen vornehmen darf?

Mario
18697
18697 02.12.2006 um 19:07:47 Uhr
Goto Top
Ich versuche es anhand eines Samba PDC-Beispiels zu erklären:
http://wiki.bsdforen.de/index.php/Samba_PDC

Samba übernimmt immer die Zugriffsberechtigungen vom Betriebssystem. Kann Benutzer X die Datei Y unter Linux lesen und schreiben (rw) so kann er dies auch über die Samba-Netzwerkfreigabe. Im Beispiel sind neben dem Linux-root-Account zwei Windows-Benutzerkonten eingerichtet worden:

test => Gewöhnliches Benutzerkonto
DomainAdmin => Domain-Administratorkonto

Die drei Benutzerkontos haben die Identifkationsnummern (unter FreeBSD mit dem Befehl "id <Benutzername>" feststellbar):

uid=0(root) gid=0(wheel) groups=0(wheel), 5(operator), 512(Domain Admins)
uid=1000(test) gid=513(Domain Users) groups=513(Domain Users)
uid=1001(DomainAdmin) gid=512(Domain Admins) groups=512(Domain Admins)

Die Windows-Benutzer werden auf die UID's ab 1000 gemappt und die Windows-Gruppen auf die GID's auf die Nummern ab 500 gemappt. Jetzt sieht man schon ein Problem. Root hat immer UID=0 und GID=0! Die UID und GID von root darf nicht geändert werden! Root darf zwar Mitglied von mehreren Gruppen sein (z.B. von der Domain-Administratoren-Gruppe) seine primäre Gruppe bleibt aber immer die mit der GID=0!

Deshalb sollte man für Samba-Netzwerkfreigaben nie als Besitzer/Verwalter der Netzwerkfreigabe den Benutzeraccount root verwenden. Besser ist es, einen Windows-Administrator als Besitzer und Verwalter einzustellen. Als Beispiel die Netlogon-Netzwerkfreigabe eines Samba PDC's. Das Netlogon-Verzeichnis /usr/local/share/samba/netlogon wurde vom Benutzer root irgendwann erstellt. Ein "ls -lh" liefert:

drwxr-xr-x 6 root wheel 512B 16 Jul 18:15 netlogon

Der Windows-Explorer zeigt:

root -> Vollzugriff
wheel -> Lesen und Ausführen
Jeder -> Lesen und Ausführen
Besitzer -> root

Wir wechseln den Besitzer des netlogon-Verzeichnisses als root mit dem Linux-Befehl "chown":

chown -R DomainAdmin:"Domain Admins" /usr/local/share/samba/netlogon

Und korrigieren (falls notwendig) die Zugriffsrechte mit dem Linux-Befehl "chmod":

chmod -R u=rwX,g=rX,o=rX /usr/local/share/samba/netlogon

Jetzt liefert "ls -lh":

drwxr-xr-x 6 DomainAdmin Domain Admins 512B 16 Jul 18:15 netlogon

Liefert "ls -lh" nicht "DomainAdmin Domain Admins" sondern nur die UID und GID ("1001 512"), ist NSS nicht korrekt konfiguriert (siehe ersten Beitrag). Der Windows-Explorer zeigt:

DomainAdmin -> Vollzugriff
Domain-Administratoren -> Lesen und Ausführen
Jeder -> Lesen und Ausführen
Besitzer -> DomainAdmin

Ich hoffe, Dir mit diesem Beispiel weiterhelfen zu können..
LooneyTune
LooneyTune 03.12.2006 um 02:41:40 Uhr
Goto Top
Hallo,

danke für die ausführliche Beschreibung. Habs jetzt anders gelöst: smb.conf -> admin users = administrator.

Hatte ich vorher schon mal drin, allerdings jetzt in Verbindung mit "read list" und "write list". Diese Einträge hatte ich vorher nicht (u. kannte ich auch gar nicht) -> bisher hatte ich "valid users" als Eintrag.

BTW: der Server läuft unter Ubuntu Edgy Eft. Und da gibts /usr/local/share/samba/netlogon net.

lg.Mario
38542
38542 13.02.2007 um 13:01:16 Uhr
Goto Top
mist diese lösung brauche ich....brauche DIE smb.conf etwas genauer....hab das gleiche prob.