Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung
server_und_serverdienste:automount_von_sambalaufwerken_beim_login_-_inkl._kerberos_und_nomachine_terminalserver [2020/06/26 18:28] lomaserver_und_serverdienste:automount_von_sambalaufwerken_beim_login_-_inkl._kerberos_und_nomachine_terminalserver [2020/06/26 19:31] 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 ======
-Die Folgende Anleitung bezieht sich auf folgende Konzelation:+ 
 +{{:ucs.png?nolink&100|}} + {{:ubuntu.png?nolink&100|}} + {{:nomachine.jpg?nolink&100|}} + {{:kdeneon.jpg?nolink&100|}} 
 + 
 + 
 +Diese Anleitung bezieht sich auf folgende Konstellation:
   * Serverumgebung [[https://www.univention.de/produkte/ucs/|Univention Corporate Server]] auf Debian Basis (Active Directory/LDAP/Kerberos)   * Serverumgebung [[https://www.univention.de/produkte/ucs/|Univention Corporate Server]] auf Debian Basis (Active Directory/LDAP/Kerberos)
  
Zeile 8: Zeile 12:
   * Lubuntu 20.04 (LXQT) als Nomachine Workstation Enterprise   * Lubuntu 20.04 (LXQT) als Nomachine Workstation Enterprise
  
-Auch in Linuxumgebungen ist die Automation von Desktops voll und ganz ein Standart. Da dies aber meist nur größeren Enterpriseumgebungen vorbehalten ist, findet man im Internet hierüber sehr wenig ausführlich gute Dokumentation. Aus diesem Grund hab ich mir mal gedacht ich schreib darüber doch auch mal einen Artikel um Enterprisefeatures auch zu dir zu bringen+Auch in Linuxumgebungen ist die Automation von Desktops voll und ganz ein Standard. Da dies aber meist nur größeren Enterpriseumgebungen vorbehalten ist, findet man im Internet hierüber sehr wenig ausführlich gute Dokumentation. Aus diesem Grund hab ich mir mal gedacht ich schreib darüber doch auch mal einen Artikel um dich daran auch teilhaben zu lassen
  
 ===== Voraussetzung ===== ===== Voraussetzung =====
-Voraussetzung ist eine laufende funktionierende [[https://www.univention.de/produkte/ucs/|UCS4.4.x Umgebung]] inkl. Kerberos. Sollest du eine andere Umgebung mit als AD/LDAP benutzen ist das selbstverständlich auch ok. Hast das nicht [[https://docs.software-univention.de/handbuch-4.4.html|installiere dir diese mal schnell]]. +Voraussetzung ist eine laufende funktionierende [[https://www.univention.de/produkte/ucs/|UCS4.4.x Umgebung]] inkl. Kerberos. Solltest du eine andere Umgebung als AD/LDAP benutzen ist das selbstverständlich auch ok. Hast du das nicht[[https://docs.software-univention.de/handbuch-4.4.html|installiere dir diese mal schnell nach]]. 
  
 **Überprüfung am Client** **Überprüfung am Client**
Zeile 21: Zeile 25:
 bist wohl nicht richtig an deinem ActiveDirectory registiert.  bist wohl nicht richtig an deinem ActiveDirectory registiert. 
  
-Funktioniert alles gut, ist an dieser Stelle ein kleiners Helferlein zu erwähnen. Installiere dir gleich ''krb5-auth-dialog'' nach. Das erneuert bequem deine Tickets. Immer dann wenn du wo dein Passwort eingeben sollest, z.B. wenn du deinen Bildschirm entsperrst. +Funktioniert alles gut, ist an dieser Stelle ein kleines Helferlein zu erwähnen. Installiere dir gleich ''krb5-auth-dialog'' nach. Das erneuert bequem deine Tickets im laufenden Betrieb. Immer dann wenn du wo dein Passwort eingeben sollest, z.B. wenn du deinen Bildschirm entsperrst. 
  
 ===== Installation und Konfiguration am Client ===== ===== Installation und Konfiguration am Client =====
 Als erstes sind ein paar Pakete zu installiern. Als erstes sind ein paar Pakete zu installiern.
 <code> <code>
-apt install libpam-mount keyutils -y+apt install libpam-mount davfs2 keyutils -y
 </code> </code>
 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''.
Zeile 50: Zeile 54:
 ... ...
 </code> </code>
 +==== 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. 
  
 +Hier nun ein Beispiel mit Samba/Windowslaufwerken:
 +<file xml pam_mount.conf.xml>
 +...
 +<!-- pam_mount parameters: Volume-related -->
 +<volume fstype="cifs" server="server.tux.lan" options="vers=3.0,sec=krb5,cruid=%(USERUID)" path="Downloads" mountpoint="~/Downloads"> <not><user>root</user></not> <not><user>sddm</user></not> <not><user>nx</user></not> </volume>
 +<volume fstype="cifs" server="server.tux.lan" options="vers=3.0,sec=krb5,cruid=%(USERUID)" path="Dokumente" mountpoint="~/Dokumente"> <not><user>root</user></not> <not><user>sddm</user></not> <not><user>nx</user></not> </volume>
 +<volume fstype="cifs" server="server.tux.lan" options="vers=3.0,sec=krb5,cruid=%(USERUID)" path="Bilder" mountpoint="~/Bilder"> <not><user>root</user></not> <not><user>sddm</user></not> <not><user>nx</user></not> </volume>
 +<volume fstype="cifs" server="server.tux.lan" options="vers=3.0,sec=krb5,cruid=%(USERUID)" path="%(USER)" mountpoint="~/MYHOME"> <not><user>root</user></not> <not><user>sddm</user></not> <not><user>nx</user></not> </volume>
 +<mkmountpoint enable="1" remove="true" />
 +...
 +</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. 
  
 +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
  
 +Hier noch ein Beispiel für Wedav, CIFS und NFS. In dieser Konfig gehen diese nicht über Kerberos. 
 +<file xml pam_mount.conf.xml>
 +...
 +<volume fstype="davfs" path="https://daten.tux.com/webdav-daten" mountpoint="~/webdav-daten" options="username=%(USER),rw,nosuid,nodev,uid=%(USER)"> <not><user>root</user></not> <not><user>sddm</user></not> </volume>
 +<volume fstype="nfs" server="servername.bla.at" path="/home/Dokumente" mountpoint="~/Dokumente" />
 +<volume fstype="cifs" server="servername.bla.at" options="vers=3.0" path="Organisation" mountpoint="~/Organisation" />
 +</file>
 +Du kannst schon erkennen, das der Mechanismus sehr mächtig ist. [[https://de.wikipedia.org/wiki/Manpage|Die Manpage]] ist hier sehr ausführlich. Mit ein wenig Zeit und tun, kannst du dir hier etwas schönes bauen. 
 +<code>
 +man pam_mount.conf
 +</code>
 +Ab diesem Zeitpunkt bekommst du deine Laufwerke beim Login über dem Displaymanager SDDM oder Lightdm bereits eingebunden. 
 +
 +==== Automount über SSH und Kerberos ====
 +Auch da tun wir uns dank [[https://www.univention.de/produkte/ucs/|UCS]] sehr leicht. Wir edtieren unsere SSHD am Server und unsere Clientconfig. 
 +
 +Server: ''/etc/ssh/sshd_config''
 +<code>
 +...
 +GSSAPIAuthentication yes
 +GSSAPICleanupCredentials yes
 +KerberosAuthentication yes
 +KerberosOrLocalPasswd yes
 +KerberosTicketCleanup yes
 +...
 +</code>
 +Client: ''/etc/ssh/ssh_config'' \\
 +<code>
 +...
 +GSSAPIAuthentication yes
 +GSSAPIDelegateCredentials yes
 +...
 +</code>
 +Nach einem Restart des SSH-Servers, bekommst du deine Laufwerke auch darüber bequem eingebunden.