• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Samba (username map und ADS-Authentifizierung)

cdjm

Newbie
Moin,

ich weiss, dass dieses Forum hier hauptsächlich für openSUSE gedacht ist.
Da ich jedoch schon viele Antworten von hier verwerten konnte, scheint mit das trotzdem der richtige Ort zu sein.

Das akt. Umfeld sieht so aus:
- Mehrere Samba-Server unter Solaris
(Password-Backend ist smbpasswd und Passwörter werden jeweils manuell auf allen Servern per smbpasswd einzeln geändert.)

- Eine Win2k3-Domäne mit mehreren PDCs
(Windows-Accounts bestehen zusätzlich für jeden User.)

Problemstellung:
Die Administration der Domäne liegt nicht bei mir und es wurden jetzt Kennwortänderungsrichtlinien festgesetzt, so dass alle 90 Tage auf bis zu 4 Serven smbpasswd eingegeben werden muss.
Und das dann für jeden Benutzer, da die Unix-Accounts und Windows-Accounts nicht gleichnamig sind.

Das Problem mit den unterschiedlichen Benutzernamen hatte ich bis jetzt mit der Definition einer "username map" gelöst.

Jetzt würde ich gerne vor dem username mapping das Kennwort des Users von einem PDC im ActiveDirectory überprüfen lassen, dann das Mapping durchführen und danach den User mit dem normalen Unix-Account zugreifen lassen.

Ich habe den Server auch ins AD joinen lassen, und kann auch mit Domänenbenutzern auf die Freigaben zugreifen.
Es wird jedoch kein username mapping durchgeführt, so dass der Zugriff nicht mit dem Unix-Account stattfindet.

Jetzt folgende Fragen:
Brauche ich winbind überhaupt oder reicht eine Art von Pass-Through-Authentifizierung über den PDC (Wenn ja, wie kriege ich so etwas zum Laufen? [security=server?])?

Wenn mit winbind, was gebe ich dann in die username map ein?
Unix-Account = Domäne+Account
oder Unix-Account = Account
oder was sonst?

Ich hoffe, mir kann jemand weiterhelfen.

Mit freundlichem Gruß

>>-C-D-J-M->>


Meine smb.conf
Code:
[global]
   workgroup = TZ
   realm = TZ.DEFENCE-ELEC.DE
   security = ADS
   encrypt passwords = yes
   client use spnego = yes
   password server = 192.168.201.2

## WINBIND ##

   # Trenne Domäne und Benutzername durch '+', wie DOMÄNE+benutzername
   winbind separator = +

   # Verwende UIDs von 10000 bis 50000 für Domänen-Benutzer
   idmap uid = 10000-50000
   # Verwende GIDs von 10000 bis 50000 für Domänen-Gruppen
   idmap gid = 10000-50000

   # Erlaube die Aufzählung von winbind-Benutzern und -Gruppen
   winbind enum users = yes
   winbind enum groups = yes

   # Gib winbind-Benutzern eine echte Shell (nur benötigt, wenn diese telnet-Zugriff haben)
   #template homedir = /homes/%D+%U
   template homedir = /homes/%U
   template shell = /usr/bin/bash

   username map = /opt/samba/etc/private/smbuser.map
   display charset = ISO8859-1
   unix charset = ISO8859-1
   dos charset = cp850

[homes]
   path = /homes/%U


[public]
   path = /ssmbd1/public
   guest ok = no
   writeable = yes
 
OP
C

cdjm

Newbie
Lol?

Das Problem scheint sich bereits teilweise erledigt zu haben.

Einen Eintrag in der smbuser.map

cm = meyer_c

habe ich wie folgt geändert:

cm = *meyer_c

Es wird jetzt als der richtige Benutzer zum Share verbunden.
Code:
domtest (192.168.201.2) connect to service public initially as user cm (uid=321, gid=14) (pid 946)

Das einzig verbleibende Problem ist, dass die "Variable %U" weiterhin auf den Domänenuser verweist:
Code:
'/homes/meyer_c' does not exist or permission denied when connecting to [cm] Error was No such file or directory

Gibt es eine "Variable", die den gemappten User enthält?

Mit freundlichem Gruß

>>-C-D-J-M->>
 
OP
C

cdjm

Newbie
Ok. Irgendwie löst sich hier alles wie von selbst.....

Einfach die Zeile mit template homedir rausgenommen und die path-Angabe
aus dem homes-Share entfernt.

Läuft jetzt alles.

-> Thread hat sich damit erledigt.
 
Oben