Linux als Client

Aus dem IServ-Wiki
Version vom 25. November 2013, 21:00 Uhr von Mirko Augsburger (Diskussion | Beiträge) (Debian/Ubuntu/Mint erstmalig hinzugefügt)
Zur Navigation springen Zur Suche springen
Information Diese Anleitung wird gerade überarbeitet -- Mirko Augsburger

Ziel ist es einen Client mit Linux vollständig in die IServ Umgebung zu integrieren, so dass sich die IServ-Benutzer dort anmelden können und auf ihre Daten zugreifen können.

Ubuntu/Debian/Mint

Für Ubuntu ab Version 12.04 LTS wird ein Paket entwickelt, dieses sollte auch auf Ubuntu 10.04 LTS, Debian Stable und Linux Mint laufen. Das Paket selbst ist abhängig von den benötigten Programmen, welche bei graphischer Installation mitinstalliert werden. Diese Programme werden dann automatisch konfiguriert.

Die Testversion kann man aus dem Repository herunterladen, die zugehörige Diskussionsplattform findet sich im Support-Forum. Bei der Installation des Clients werden alle nötigen Angaben abgefragt

Nötige Änderungen auf dem IServ

Für die korrekte Funktion müssen auf dem Server folgende Sektionen an die Datei /etc/samba/smb.conf.local angehängt werden:

[linux_home]
  comment = Echtes Heimatverzeichnis
  path = %H
  writeable = yes

  create mask = 0664
  force create mode = 0664
  directory mask = 02775
  force directory mode = 02775

  hide files = /desktop.ini/$RECYCLE.BIN/
  csc policy = disable

  root preexec = /usr/lib/iserv/samba_exec login %u %I %d
  root postexec = /usr/lib/iserv/samba_exec logout %u %I %d

[linux_print]
  comment = Druckverzeichnis
  path = %H/Print
  writeable = yes

  create mask = 0664
  force create mode = 0664
  directory mask = 02775
  force directory mode = 02775

  hide files = /desktop.ini/$RECYCLE.BIN/
  csc policy = disable

Dokumentation des Pakets

Abhängigkeiten

  • winbind: Ein Systemdienst, welcher für die Authentifikation über eine Windows-Domäne nötig ist. Unter Debian-basierten Distributionen sind die folgenden beiden Pakete extra zu installieren.
    • libpam-winbind | winbind (<= 2:3.5.11): Authetifizierung des Benutzers über PAM
    • libnss-winbind | winbind (<= 2:3.6.5-2): Systemweite Benutzer/Gruppen-Abfrage von winbind-Benutzern
  • samba-common-bin: Liefert nmblookup, ein Tool zur Namensauflösung (vorinstalliert)
  • network-manager: Einfache Netzwerkverwaltung (vorinstalliert)
  • isc-dhcp-client | dhcp-client (vorinstalliert)
  • cifs-utils | smbfs: Programme zum Einbinden des Benutzerverzeichnisses
  • smbclient: Komandozeilenprogramme zum kommunizieren mit dem IServ-Samba-Server (vorinstalliert
  • libpam-mount (>= 0.18): Automatische Einbinden der Benutzerverzeichnisse beim Login
  • cups: Common Unix Printing System, der Druckserver (vorinstalliert)
  • ghostscript: Tools zum Erstellen von PDF-Dokumenten

Nötige Konfigurationsschritte

ISERVDOMAIN muss durch den Domänennamen ersetzt werden,

/etc/samba/smb.conf
[global]
workgroup = ISERVDOMAIN
security = DOMAIN
os level = 0
local master = No
domain master = No
template homedir = /home/%U
template shell = /bin/bash
winbind separator = +
winbind cache time = 10
winbind enum users = Yes
winbind enum groups = Yes
winbind use default domain = Yes
idmap config * : range = 10000-20000
idmap config * : backend = tdb

Bei einem älteren Samba (z.B. Ubuntu 10.04) müssen die letzten beiden Zeilen stattdessen folgendermaßen lauten:

idmap uid = 10000-20000
idmap gid = 10000-20000
/etc/nsswitch.conf

Hier muss an die beiden Zeilen beginnend mit "passwd:" und "group:" noch "winbind" drangehängt werden.

Aus

passwd:  compat
group:   compat

wird also

passwd:  compat winbind
group:   compat winbind
/etc/security/pam_mount.conf.xml
/etc/rc.local
lightdm
CUPS

Fedora 13

Voraussetzung

  • Ein Host mit (frisch installiertem?) Fedora 13 (inkl. einer gewünschten Oberfläche)
  • Benötigte Software-Pakete auf dem Linux-Client installieren:
Information Alle folgenden Terminal-Befehle sind als root auf dem Linux-Client und nicht auf dem IServ auszuführen! Falls für root auf dem Client kein Passwort gesetzt sein sollte, kann mit sudo -i eine root-Login-Shell emuliert werden.
root
yum install samba-winbind samba-winbind-clients authconfig

Client einbinden

  • das Tool authconfig starten, um die Benutzeranmeldung einzurichten:
root
authconfig-tui
  • Jetzt füge ich unter Benutzerinformation und unter Authentifizierung winbind hinzu, wähle "Weiter" und konfiguriere winbind:
    • als Sicherheitsmodell "domain"
    • Domain ist der Name meiner "Windows"-Domäne, wie sie im IServ eingetragen ist
    • Der Domain-Controller ist IServ
    • Wichtig: als Standard-Shell die bin/bash wählen!
    • nun die Arbeitsstation der Domäne hinzufügen:
      • "Domain-Mitglied werden" wählen
      • Benutzername und Passwort eines Domänen-Admins (der also Rechner in die Domäne aufnehmen darf) eingeben[1]
  • Jetzt noch dafür sorgen, dass neue (die sich auf diesem Host erstmals anmeldenden) Benutzer automatisch ein eigenes Home erhalten:
root
authconfig --update  --enablemkhomedir
  • Testen, ob der Client die Benutzer der Domäne kennt, Ergebnis sollte eine (lange) Liste sein:
root
wbinfo -u

Anmelden und Spaß haben

  • Jetzt können sich alle (!) Benutzer der Domäne sowohl an der Shell als auch an der womöglich installierten grafischen Oberfläche anmelden.
  • Ein benötigtes Home-Verzeichnis wird automatisch erstellt.
  • Achtung
    • Benutzername erfolgt in der Form MEINEDOMÄNE\vorname.nachname, also mit Angabe der Domäne!
    • Die GUI zeigt die Domänenbenutzer nicht in der Auswahlliste an, es ist also "Anderer Benutzer" zu wählen.

Screenshots


Zu erledigen:

  • Home des Benutzers automatisch einhängen
  • Quotas hinzufügen



  1. Achtung bei Rechnern mit Windows und Linux parallel: Es lässt sich jeder Rechnername nur einmal der Domäne hinzufügen. Bei einer Parallelinstallation müssen daher (nur!) die Hostnamen der beiden Betriebssysteme unterschiedliche sein!