Linux-Client in Windows Domain

Aus Linupedia.org
Wechseln zu: Navigation, Suche

Zusammenfassung

Das unten beschriebene Vorgehen besteht im Wesentlichen aus vier Schritten. Zunächst werden mit YAST der Dienst nscd gestoppt und der Client in die Domäne aufgenommen. Anschließend werden mit einem Editor die Dateien smb.conf und xdm angepasst. Am Server selbst sind keine Veränderungen vorzunehmen.

Bei Bedarf können mithilfe von pam_mount das Home auf dem Server und andere Shares direkt mit dem Login zur Verfügung gestellt werden.

Dieses Verfahren wurde nur mit einer Windows NT-Domäne getestet. Für win200x-Domänen (Active Directory) siehe die Links unten.


Vorraussetzungen

a) SUSE-Linux 9.x, 10.0 (Für andere Linusse siehe Anhang. Bitte postet Erfahrungen mit Suse 10.1.) b) Windows NT-Domäne bzw. Samba-PDC (Primary Domain Controller) (Windows XP-Clients müssen möglich sein.)



Vorgehen

1.) Per YAST/System/Runlevel-Editor den Dienst nscd (Name Service Cache Damon) abschalten. (Dies legt das winbindd-HowTo nahe. Ob es wirklich nötig ist habe ich nie getestet.)


2.) In YAST/Netzwerkdienste/Samba-Client Domäne wählen und "Zusätzlich SMB-Informationen zur Linux-Authentifikation verwenden" auswählen. Nach der Bestätigung wird der Client in die Domäne aufgenommen. Hierzu braucht man die entsprechende Berechtigung. (Das Verfahren ist das gleiche wie mit winXP. Bei meinem Samba-PDC ist z. B. root mit Passwort einzugeben.) YAST installiert ggf. außerdem winbindd und schreibt eine smb.conf als Konfigurations-Datei, passt /etc/nsswitch.conf an.


3.) Die smb.conf von YAST ist nicht optimal. Diese funktioniert:

/etc/samba/smb.conf

Code:

  1. smb.conf is the main Samba configuration file. You find a full commented
  2. version at /usr/share/doc/packages/samba/examples/smb.conf.SUSE if the
  3. samba-doc package is installed.
  4. Date: 2005-06-02

[global]

  winbind separator = +
  winbind use default domain = yes
  winbind uid = 10000-20000
  winbind gid = 10000-20000
  winbind cache time = 15
  winbind enum users = yes
  winbind enum groups = yes
  template homedir = /home/%D/%U
  template shell = /bin/bash
  idmap gid = 10000-20000
  idmap uid = 10000-20000
  workgroup = WORKGROUP


Wichtig sind folgende Zeilen:

winbind use default domain = yes

  1. Login ohne "WORKGROUP+", wie mit Windows. Außerdem zum Mounten mit pam_mount (siehe Anhang).

winbind separator = +

  1. Bei mir im Zusammenspiel mit pam_mount notwendig.

Nun sollten alle Domänen-Benutzernamen unter KDE/Kontrollzentrum/­Systemverwaltung/­Anmeldungsmanager/­Vereinfachung zu sehen sein.


4.) /etc/pam.d/xdm anpassen (nur grafisches Login).

/pam.d/xdm

Code:

  1. %PAM-1.0

auth required pam_env.so auth sufficient pam_winbind.so # pam_winbind fragt das Login ab. auth required pam_unix2.so use_first_pass # pam_unix2 übernimmt das Login von pam_winbind

account sufficient pam_winbind.so # Login account required pam_unix2.so

password required pam_unix2.so

session required pam_mkhomedir.so skel=/etc/skel/ umask=0022

  1. Falls nicht vorhanden wird ein Home erzeugt.

session required pam_unix2.so session required pam_devperm.so session required pam_resmgr.so


Damit das Login gelingt, muss abschließend im Home-Verzeichnis ein Unterverzeichnis mit dem Namen der Domäne erstellt werden, hier als root: md /home/WORKGROUP. (Großschreibung beachten!) (Die kommentierten Zeilen wurden der Originaldatei hinzugefügt.)



Anhang

a) Bei anderen Linussen muss der Rechner von Hand der Domäne hinzugefügt und nsswitch.conf angepasst werden. Die Standard-Datei /etc/pam.d/xdm sieht wahrscheinlich anders aus. (Siehe Links unten.)


b) Wenn man ein Verzeichnis beim Login mounten möchte, ist zusätzlich pam_mount erforderlich (apt).

/etc/pam.d/xdm sieht dann wie folgt aus:

/etc/pam.d/xdm

Code:

  1. %PAM-1.0

auth required pam_env.so auth optional pam_mount.so auth sufficient pam_winbind.so use_first_pass auth required pam_unix2.so use_first_pass

account sufficient pam_winbind.so account required pam_unix2.so

password required pam_unix2.so

session required pam_mkhomedir.so skel=/etc/skel/ umask=0077 session optional pam_mount.so # Falls das Mounten scheitert, gelingt das Login trotzdem.

  1. Falls dies nicht gewünscht ist, "optional" durch "required" ersetzen.

session required pam_unix2.so session required pam_devperm.so session required pam_resmgr.so


pam_mount ist in der Datei /etc/security/pam_mount.conf gut kommentiert. Am Ende der Datei ist die Konfiguration vorzunehmen. Wie und was man mountet, ... Hier nur zwei Beispiele:

Domänen-Home als Verzeichnis im Client-Home: volume * smb <IP des Servers> & ~/Windows-Laufwerk_Z - - -

Gemeinsamer MP3-Ordner: volume * smb <IP des Server> MP3 ~/MP3 - - -


Links

Für Active Directory besonders hilfreich:

http://www.pro-linux.de/work/server/samba3-domaene.html

http://www.samba.org/samba/docs/man/Samba3-HOWTO/domain-member.html#ads-member

Andere:

http://www.linuxquestions.org/questions/showthread.php?s=&threadid=155887

http://lilly.csoft.net/~vdebaere/handleiding/samba-activedirectory/index_en.html

http://www.timkennedy.net/docs/Linux+Active_Directory.html

http://gertranssmb3.berlios.de/output/winbind.html

http://www.linux-club.de/viewtopic.php?t=42392&

http://www.linux-club.de/viewtopic.php?t=51446&

http://www.linux-club.de/viewtopic.php?t=53340

Active Directory ohne winbind:

http://www.oo-services.com/de/articles/sso.aspx

Edit: Yehudi Links bearbeitet, und hinzugefügt 2006-07-04

Bis dato gibt es bei dem Artikel selber keine Zustimmung des Autoren.