Benutzer-Werkzeuge

Webseiten-Werkzeuge


server_und_serverdienste:automount_von_sambalaufwerken_beim_login_-_inkl._kerberos_und_nomachine_terminalserver

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
server_und_serverdienste:automount_von_sambalaufwerken_beim_login_-_inkl._kerberos_und_nomachine_terminalserver [2020/06/26 17:31] lomaserver_und_serverdienste:automount_von_sambalaufwerken_beim_login_-_inkl._kerberos_und_nomachine_terminalserver [2025/06/08 16:02] (aktuell) loma
Zeile 1: Zeile 1:
 ====== Automount von Sambalaufwerken beim Login - inkl. Kerberos und Nomachine Terminalserver ====== ====== Automount von Sambalaufwerken beim Login - inkl. Kerberos und Nomachine Terminalserver ======
 +Du möchtest dich gerne für unsere Hilfe erkenntlich zeigen 8-o. Gerne. Wir bedanken uns bei dir für deine Spende! 🙏 \\
 +[[https://www.paypal.com/donate/?hosted_button_id=KE592Y5993ZKW|{{:spenden.gif|}}]] \\
 +\\
 +Zum frei verfügbaren [[:apt-repository|Apt-Repository]]
 +\\
 +GITLAB: [[https://git.osit.cc|{{:gitlab_logo.png?nolink&60|}}]]
 +\\
 +\\
  
 {{:ucs.png?nolink&100|}} + {{:ubuntu.png?nolink&100|}} + {{:nomachine.jpg?nolink&100|}} + {{:kdeneon.jpg?nolink&100|}} {{:ucs.png?nolink&100|}} + {{:ubuntu.png?nolink&100|}} + {{:nomachine.jpg?nolink&100|}} + {{:kdeneon.jpg?nolink&100|}}
 +\\
 +\\
 +
 +<WRAP center round alert 60%>
 +Achtung! Der Zeit  --- //2025/06/08 15:55// gibt es einen Bug. Daher ist der Autologin via Kerberos mit cifs bis auf weiteres nur mit Workarounds möglich. Hier geht es zum Bugreport: https://bugs.launchpad.net/ubuntu/+source/cifs-utils/+bug/2112614
 +</WRAP>
 +
  
  
Zeile 8: Zeile 23:
  
 Als Clients kommen folgende Systeme getestet zum Einsatz: Als Clients kommen folgende Systeme getestet zum Einsatz:
-  * KDE Neon 18.04 mit [[https://www.nomachine.com/|Nomachine]] Freeedition+  * KDE Neon 20.04 mit [[https://www.nomachine.com/|Nomachine]] Freeedition/Enterpise Client
   * Ubuntu 18.04/20.04 Server (über SSH)   * Ubuntu 18.04/20.04 Server (über SSH)
   * Lubuntu 20.04 (LXQT) als Nomachine Workstation Enterprise   * Lubuntu 20.04 (LXQT) als Nomachine Workstation Enterprise
Zeile 32: Zeile 47:
 apt install libpam-mount davfs2 keyutils -y apt install libpam-mount davfs2 keyutils -y
 </code> </code>
 +
 +Optional das Paket ''refresh-krb5mounts'' von https://apt.iteas.at. Damit bekommt man ein Icon das nachdem ein Kerberosticket ausgelaufen ist, die Mountpoints auffrischt. Oft funktioniert hier ein Klick nicht. Die CMD schafft Abhilfe. 
 +
 Dies bearbeitet die Pamconfiguration. Dies lässt du zu, oder editierst sie später manuell, falls du mal selbst Änderungen vorgenommen haben solltest. ''nano /etc/pam.d/common-auth''. Die folgende Zeile kommt vor der Zeile ''auth    optional                        pam_cap.so''. Dies bearbeitet die Pamconfiguration. Dies lässt du zu, oder editierst sie später manuell, falls du mal selbst Änderungen vorgenommen haben solltest. ''nano /etc/pam.d/common-auth''. Die folgende Zeile kommt vor der Zeile ''auth    optional                        pam_cap.so''.
 <code> <code>
Zeile 56: Zeile 74:
 ==== Setzten der pam_mount.conf.xml ==== ==== Setzten der pam_mount.conf.xml ====
 Die Standardoptionen haben bei meinen Konfigurationen immer funktioniert. In diesem File trägst du alle Laufwerke ein die in deiner Umgebung erreichbar sind. Loggst du dich mit deinem Benutzer ein, werden automatisch alle Laufwerke in dein Home eingebunden. Beim Logout, wieder sauber getrennt. Die Funktion kann mit **Cifs, NFS4.x** und **Webdav** wissentlich umgehen.  Die Standardoptionen haben bei meinen Konfigurationen immer funktioniert. In diesem File trägst du alle Laufwerke ein die in deiner Umgebung erreichbar sind. Loggst du dich mit deinem Benutzer ein, werden automatisch alle Laufwerke in dein Home eingebunden. Beim Logout, wieder sauber getrennt. Die Funktion kann mit **Cifs, NFS4.x** und **Webdav** wissentlich umgehen. 
 +<code> 
 +/etc/security/pam_mount.conf.xml 
 +</code>
 Hier nun ein Beispiel mit Samba/Windowslaufwerken: Hier nun ein Beispiel mit Samba/Windowslaufwerken:
 <file xml pam_mount.conf.xml> <file xml pam_mount.conf.xml>
Zeile 68: Zeile 88:
 ... ...
 </file> </file>
-Die User Root, Sddm und NX werden ignoriert. Sprich diese machen keine Mountabfrage. Macht ja auch keinen Sinn. **Der große Vorteil:** Angabe von Passwort und Benutzer sind natürlich nicht notwendig. Um das kümmert sich LDAP/Kerberos von UCS, und  erledigt beim Loginvorgang den Rest. +Als weitere Option kann auch noch ''noexec'' und ''file_mode=0666'' gewählt werden, um das "Ausführen" von Programmen und/oder Scripten zu verhindern. Die User Root, Sddm und NX werden ignoriert. Sprich diese machen keine Mountabfrage. Macht ja auch keinen Sinn. **Der große Vorteil:** Angabe von Passwort und Benutzer sind natürlich nicht notwendig. Um das kümmert sich LDAP/Kerberos von UCS, und  erledigt beim Loginvorgang den Rest. 
  
 Macht man das ganze mit PAM ohne Kerberos, könnte man jetzt wieder paranoid reagieren und sagen, "ja die Passworteingabe wird ja beim Login PAM übergeben, das ist doch unsicher!". Ja das stimmt schon wenn man es aus technischer Sicht ganz genau betrachten würde, ist das so. Aber das lass ich jetzt mal im Raum so stehen :-x Macht man das ganze mit PAM ohne Kerberos, könnte man jetzt wieder paranoid reagieren und sagen, "ja die Passworteingabe wird ja beim Login PAM übergeben, das ist doch unsicher!". Ja das stimmt schon wenn man es aus technischer Sicht ganz genau betrachten würde, ist das so. Aber das lass ich jetzt mal im Raum so stehen :-x
Zeile 85: Zeile 105:
 Ab diesem Zeitpunkt bekommst du deine Laufwerke beim Login über dem Displaymanager SDDM oder Lightdm bereits eingebunden.  Ab diesem Zeitpunkt bekommst du deine Laufwerke beim Login über dem Displaymanager SDDM oder Lightdm bereits eingebunden. 
  
-==== Automount über SSH und Kerberos ==== +====SSH Login über Kerberos und Automount aller berechtigten Netzlaufwerke ===== 
-Auch da tun wir uns dank [[https://www.univention.de/produkte/ucs/|UCS]] sehr leichtWir edtieren unsere SSHD am Server und unsere Clientconfig+Sehr konfortabel ist der Login mit SSH über Kerberos. Hierbei ist lediglich die Keytab vom Univention Master Server zu exportieren. Die Keytab wird bei Kerberosanbindung/Default Domänenanbindung automatisch erstellt. Dieser Objekttyp kostet auch Stückzahl "1" der lizensierten Domänenservices.  
 +<code bash> 
 +samba-tool domain exportkeytab --principal=host/pc-peter.tux.at@TUX.AT /root/pc-peter-host.keytab 
 +</code> 
 +Die Keytab kopiert man am Client auf ''/etc/krb5.keytab'' und muss die Rechte root:root mit 600 besitzen. Dies ist der Platz der Defaultkeytab und jegliche Anwendung die Kerberos, spricht greift drauf zu und beforzugt Kerberos als erste Auth-Möglichkeit
  
-Server: ''/etc/ssh/sshd_config''+Den Inhalt der Keytab kannst du mit 
 + ktutil -k /etc/krb5.keytab list 
 +auflisten. Um zu prüfen ob die Keytab richtig funktioniert, kannst du als Root die Keytab testen. z.B. mit  
 + 
 + kinit -k host/pc-peter.tux.at@TUX.AT 
 + 
 +Damit muss du nun ein Ticket ohne Passworteingabe bekommen haben. Ist das nicht der Fall, funktioniert etwas noch nicht richtig. 
 + 
 +Um am UCS Masterserver zu sehen welche Principal es der Zeit gibt, verwendest du diesen Befehl: 
 +<code bash> 
 +univention-s4search '(|(userPrincipalName=*)(servicePrincipalName=*))'   userPrincipalName servicePrincipalName 
 +</code> 
 + 
 +Essentiell ist auch noch das in der ''/etc/hosts'' der FQDN für Localhost gesetzt ist:
 <code> <code>
-... +# Standard host addresses 
-GSSAPIAuthentication yes +127.0.0.1  localhost 
-GSSAPICleanupCredentials yes +::1        localhost ip6-localhost ip6-loopback 
-KerberosAuthentication yes +ff02::   ip6-allnodes 
-KerberosOrLocalPasswd yes +ff02::   ip6-allrouters 
-KerberosTicketCleanup yes +# This host address 
-...+127.0.1.1  pc-peter.tux.at pc-peter
 </code> </code>
-Client: ''/etc/ssh/ssh_config'' \\+ 
 +Die Quelle des Befehls [[https://help.univention.com/t/working-with-kerberos-principals-and-keytabs/30|findest du hier]]. 
 + 
 +==== Folgenes ist damit möglich ==== 
 +  * Passwortloses login via SSH 
 +  * Mitnahme des Tickets auf andere Server 
 +  * Automatisches mounten sämtlicher Dateifreigaben (Cifs, NFS4, DAV, ...) via Kerberos über SSH, TTY, Displaymanager, was auch immer.  
 +  * Automatisches transperentes Einbinden von Laufwerken über den Dolphin Netzwerkmanger inkl. Remotemounts 
 +  * Kerberoslogin über Nomachine Enterprise 
 +  * uvm. 
 + 
 +==== Konfiguration des SSH-Servers und Client ==== 
 +Hier ist in der ''/etc/ssh/sshd_config'' lediglich folgender Eintrag zu setzten: 
 + GSSAPIAuthentication yes 
 +Alles andere kann default belassen werden. Danach den SSH Server neu starten: ''systemctl restart sshd''. Am client müssen diese zwei Zeilen aktiviert werden:
 <code> <code>
-... 
 GSSAPIAuthentication yes GSSAPIAuthentication yes
 GSSAPIDelegateCredentials yes GSSAPIDelegateCredentials yes
-... 
 </code> </code>
-Nach einem Restart des SSH-Servers, bekommst du deine Laufwerke auch darüber bequem eingebunden. +Nach einem Restart des SSH-Servers, bekommst du deine Laufwerke auch darüber bequem eingebunden. \\ 
 + 
 +Meinen Beitrag im Forum [[https://help.univention.com/t/problem-ssh-via-kerberos-from-ubuntu-to-ubuntu-in-an-ucs-environment-did-not-work/16949|findest du hier]]. 
 + 
 +==== Login am NX Terminalserver via Kerberos ==== 
 +Um dies zu ermöglichen mußt du am NXServer ein paar kleine Configänderungen in der ''/usr/NX/etc/server.cfg'' vornehmen. 
 +<code> 
 +EnableNXKerberosAuthentication 1 
 +NXGssapiLibraryPath "/usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2" 
 +NXKerberosLibraryPath "/usr/lib/x86_64-linux-gnu/libkrb5.so.3" 
 +</code> 
 +Nun noch den Server neu starten: ''systemctl restart nxserver.service''
 + 
 +Am Nomachine Client mußt du noch unter "Konfiguration Authentifizierung", **Kerberos ticketbasierende Authentifizierung verwenden**, auswählen. Im Untermenü nun noch die Option "**Authentifizierung weiterleiten**" Checkbox aktivieren. Ab nun wird man mit dem Kerberos Ticket automatisch eingeloggt und auch Sambalaufwerke werden wie oben beschrieben in einer virtuellen Desktopsitzung automatisch mit dem Ticket eingebunden. 
 + 
 +===== Bekannte BUGS ===== 
 +Sollte man bei einer Maschine die Meldung bekommen das kein Display verfügbar ist, so ist die ''/etc/pam.d/nx'' wie folgt zu modifzieren: 
 +<code> 
 +auth include su 
 +account include su 
 +password include su 
 +#session include su 
 +session required pam_loginuid.so 
 +session optional pam_env.so 
 +session optional pam_umask.so 
 +session required pam_unix.so 
 +session optional pam_mount.so disable_interactive 
 +</code> 
 +Nomachine neustarten. \\ 
 +Danach sollte das Display verfügbar sein und auch Pammount seinen Dienst tun. [[https://help.univention.com/t/re-howto-automount-for-sambashares-on-ubuntuclients/22500|Vielen Dank an dieser Stelle an BenSommer]] der diesen Workaround erarbeitet hat.  
 + 
 +===== Links ===== 
 +  * https://manpages.ubuntu.com/manpages/noble/man5/pam_mount.conf.5.html
server_und_serverdienste/automount_von_sambalaufwerken_beim_login_-_inkl._kerberos_und_nomachine_terminalserver.1593192699.txt.gz · Zuletzt geändert: von loma