Linux Desktop Client in der Domäne. Online als auch offline. Debian und openSuSE

Es wird manchmal notwendig, die Linux Desktops in unseren Fall, Debian 12 mit Cinnamon oder openSuSE 15.5 mit xfrce in der Schulumgebung in die Domäne aufzunehmen. Der Vorteil, jeder Domänenbenutzer kann sich an diesem Gerät anmelden. Der Client wird Mitglied der Domäne und kann auf eigener Home Bereich und Serverfreigaben auf dem Fileserver zugreifen. Die Konfiguration der Dienste auf den Clients ist sehr ähnlich.

Daten zu dem Domänen-Controller

Betriebssystem: Debian 12
Servername: dc1
Domäne: SCHULE.LAN
IP-Adresse: 172.16.0.10
Netmask: 255.255.252.0

Netzwerk


Netz: 172.16.0.0/22
Gateway: 172.16.0.1
DHCP: 172.16.0.10
DNS: 172.16.0.10

Auf dem ersten Client installiert wird Debian 12 Standardinstallation allerdings mit Cinnamon,
auf dem zweiten openSuSE 15.5 mit xfce. Art der grafischen Oberfläche ist ohne Bedeutung. Bei der Installation bekommt der Client automatisch von dem DHCP-Server eine IP-Adresse. Wir vergeben den Namen und die Domäne schule.lan.

Punkt
Auf dem Debian Client nach der Standardinstallation werden Samba Dienste und andere benötigte Pakete installiert.

 

root@dCL1:~# apt-get install krb5-user libpam-krb5 winbind samba smbclient libnss-winbind libpam-winbind

 

Auf dem openSuSE Client installieren wir auch noch zusätzliche Pakete

root@dCL1:~# zypper install samba-winbind krb5 krb5-client
Punkt
Samba wird zu einem Mitglied der Domäne konfiguriert. Als Erstes wird die schon vorhandene
/etc/samba/smb.conf Datei geleert, danach wird der folgende Inhalt eingefügt und abgespeichert.

 

[global]
   workgroup = SCHULE
   realm = SCHULE.LAN
   netbios name = DebClient1
   server string = Linux Client
   security = ADS
   idmap config * : backend = tdb
   idmap config * : range = 3000-7999
   idmap config SCHULE : backend = autorid
   idmap config SCHULE : range = 10000-999999
   idmap config SCHULE : schema_mode = rfc2307
   idmap config SCHULE : unix_nss_info = yes

# Anfang. Parameter für Offline Anmeldung an die Domäne
   winbind offline logon = yes
   winbind request timeout = 10
   lock directory = /var/cache/samba
# Ende.  Parameter für Offline Anmeldung an die Domäne

   template shell = /bin/bash
   template homedir = /home/%U
   domain master = no
   winbind nss info = rfc2307
   winbind use default domain = Yes
   winbind refresh tickets = yes

   vfs objects = acl_xattr
   map acl inherit = yes
   store dos attributes = yes
Punkt
Die Datei /etc/krb5.conf wird zu unseren Bedürfnissen angepasst. Den vorhandenen Inhalt löschen und ersetzten mit dem unten stehendem Text.

 

[libdefaults]
   default_realm = SCHULE.LAN
   dns_lookup_realm = false
   dns_lookup_kdc = true

[realms]
   SCHULE.LAN = {
      kdc = dc1.schule.lan
      master_kdc = dc1.schule.lan
      admin_server = dc1.schule.lan
}

[domain_realm]
   .dc1.schule.lan = SCHULE.LAN
   dc1.schule.lan = SCHULE.LAN

[logging]
   kdc = FILE:/var/log/krb5/krb5kdc.log
   admin_server = FILE:/var/log/krb5/kadmind.log
   default = SYSLOG:NOTICE:DAEMON
Punkt
Auf dem Debian Client, die Einträge in der Datei /etc/nsswitch.conf sollten überprüft werden und gegebenenfalls winbind eintragen.

 

passwd:       files systemd winbind
group:          files systemd winbind
...

 

Auf dem openSuSE Client, die Einträge in der Datei /etc/nsswitch.conf sollten überprüft werden und gegebenenfalls winbind eintragen.

passwd:       compat winbind
group:          compat winbind
...
Punkt
Domäne beitreten.

root@dCL1:~# kinit Administrator
root@dCL1:~# net ads join -U Administrator

 

Punkt
Auf dem Debian Client. Um sich an der grafischen Oberfläche anzumelden, muss man noch ein Befehl ausführen. Ein Eintrag ist noch nicht angekreuzt, bitte ankreuzen, auf dieser Weise wird Homeordner des Benutzers nach dem Loggin, erstellt.

root@dCL1:~# pam-auth-update

 

Auf dem openSuSE Client. Auf die Shell-Ebene gehen und folgender Befehl ausführen.

root@dCL1:~# pam-config --add --winbind --mkhomedir

 

Ab jetzt können sich alle Domänen-Benutzer an diesen Geräten anmelden, vorausgesetzt, dass die Dienste smb, windnind aktiv sind. Der nmb Dienst am besten deaktivieren. Wir wollen keine Freigaben auf den Clients machen. Außerdem, wenn der Dienst läuft und der Client ohne Netzwerkanbindung ist, dauert die Anmeldung sehr lange.

Punkt
Wir haben noch vor auf dem Linus-Gerät offline zu arbeiten, also ohne Netzverbindung z. B., wenn wir unterwegs sind und der Domänen-Controller nicht erreichbar ist. Die /etc/samba/smb.conf ist schon angepasst. Die Datei /etc/security/pam_winbind.conf müssen wir noch bearbeiten bzw., wenn die nicht existiert, müssen wir die erstellen. Der Inhalt der Datei, es geht um den Eintrag cached_login, der muss auf yes gestellt werden.


# pam_winbind configuration file
#
# /etc/security/pam_winbind.conf
#
[global]
# request a cached login if possible
# (needs "winbind offline logon = yes" in smb.conf)
cached_login = yes

Punkt
Die Logindaten des Benutzers müssen noch auf der lokalen Festplatte gespeichert sein, wenn wir offline sind. Das erreichen wir mit dem folgenden Befehl auf dem Client, wenn der Client online angemeldet ist. Im Shell-Fenster des Client <Benutzername@Client> # ssh DOM\\<Benutzername>@localhost. Kleines Beispiel: Client: dCL1, Benutzer: manfred, Domäne: SCHULE.

 

manfred@dCL1:~$ ssh SCHULE\\manfred@localhost
Punkt
Wir können auch jederzeit Passwort ändern oder einfach auf die Anforderung des Passwortes warten. Das Passwort kann man im Shell-Fenster mit dem folgenden Befehl smbpasswd -r <Domänen-Controller> ändern, danach mit ssh wieder die Logindaten auf die lokale Festplatte übertragen, wie oben.

 

manfred@dCL1:~$smbpasswd -r DC1