A PCRE internal error occured. This might be caused by a faulty plugin

====== Ubuntuclients an einen Skolelinuxserver anbinden ====== In diesem Artikel wird erklärt, wie man einen Client mit Ubuntu 12.04 (oder auch Edubuntu) in einem [[http://www.skolelinux.de/|Skolelinux 6.0 (Squeeze)]] Netzwerk so einrichtet, dass * man sich mit Benutzernamen anmelden kann, die man zentral auf dem Skolelinuxserver (//tjener//) eingerichtet hat. * die Homeverzeichnisse (und weitere Freigaben) automatisch gemountet werden, so dass jeder Benutzer an jedem Rechner des Netzwerks dasselbe Homeverzeichnis hat. Im folgenden wird zunächst schrittweise die manuelle Konfiguration der Pakete erläutert. Im Artikel [[ubuntuclientScript|ubuntu-debian-edu-ldap.sh]] wird ein Script zur Verfügung gestellt, dass alle beschrieben Aktionen automatisch durchführt. ===== Benutzerauthentifizierung über LDAP ===== Zunächst benötigt man einige Pakte um einen [[uu>OpenLDAP#LDAP-Authentication|LDAP-Client]] einzurichten: <code terminal> sudo apt-get install libnss-ldapd libpam-ldapd auth-client-config ldap-auth-client ldap-auth-config nslcd nscd libpam-ck-connector </code> Bei der Installation werden einige Fragen gestellt, die man wie folgt beantworten muss. Die Galerie zeigt die zugehörigen Screenshots. ====Paket libnss-ldapd ==== ---- [{{ :skolelinux:ubuntu:libnss.png?350|Konfiguration des Pakets libnss-ldapd}}] **Namensauflösungsdienste, die eingerichtet werden sollen.** Hier wählt man (mit Leertaste markieren): * group * hosts * netgroup * networks * passwd * services * shadow aus. ====Paket libpam-ldapd ==== ---- Hier wird man nach den [[wp>Pluggable_Authentication_Modules|PAM]]-Profilen gefragt. Es müssen alle ausgewählt werden.[{{ :skolelinux:ubuntu:libpam.png?350|Konfiguration des Pakets libpam-ldapd}}] Danach aktiviert man noch mit <code terminal> sudo auth-client-config -t nss -p lac_ldap </code> den %%LDAP%%-Support für das PAM-System. Konfigurationsdateien befinden sich unter ''/etc/pam.d''. \\ Die Screenshots zur Konfiguration der folgenden Pakte befinden sich in der Galerie unten. ==== Paket nslcd ==== ---- * **%%URI%% des %%LDAP%%-Servers:** %%ldap://ldap.intern/%% (Es können auch alle anderen Namen des Servers wie //tjener//, //www// oder die IP-Adresse (10.0.2.2) verwendet werden.) * **Suchbasis des %%LDAP%%-Servers:** dc=skole,dc=skolelinux,dc=no Konfigurationsdatei: ''/etc/nslcd.conf'' {{gallery> :skolelinux:ubuntu?nslcd_*.png&nocache&lightbox&350x200 }} ==== Paket ldap-auth-config ==== ---- * **%%URI%% des %%LDAP%%-Servers:** ldap * **Distinguished name of the search base:** dc=skole,dc=skolelinux,dc=no * **%%LDAP%% version:** 3 * **Make local root Database admin?** No * **Does the %%LDAP%% database require login?** No Konfigurationsdatei: ''/etc/ldap.conf'' Nun muss man noch Eintragung in die Datei ''/etc/ldap/ldap.conf'' machen. Dies liegt daran, dass es gerade größere Umbaumaßnahmen bzgl. der %%LDAP%%-Pakete gibt, so dass je nach Fortschritt der Maßnahme die Datei ''/etc/ldap/ldap.conf'' oder ''/etc/ldap.conf'' gelesen wird. Die Datei ''/etc/ldap/ldap.conf'' muss so aussehen: <file - /etc/ldap/ldap.conf> HOST ldap.intern SUDOERS_BASE ou=sudoers,dc=skole,dc=skolelinux,dc=no BASE dc=skole,dc=skolelinux,dc=no TLS_REQCERT demand TLS_CACERT /etc/ldap/ssl/ldap-server-pubkey.pem </file> Danach muss man noch das Zertifikat, dass unter ''/etc/ldap/ssl/ldap-server-pubkey.pem'' liegen muss vom Server, wo es an der gleichen Stelle liegt, kopieren. {{gallery> :skolelinux:ubuntu?ldap_*.png&nocache&lightbox&300x200&2 }} Hat man bei der Eingabe etwas falsch gemacht, so kann man entweder die angegebenen Konfigurationsdateien bearbeiten oder die Konfiguration durch ''sudo dpkg-reconfigure <paketname>'' erneut aufrufen. ==== Sudoers aus dem LDAP ==== Es ist auch möglich, die per gosa eingerichteten Sudoers (Menüpunkt //Sudo//) , auf den Clients zu nutzen. D. h. alle dort eingerichteten Sudoers haben sudo-Rechte auf den Clients. Dazu installiert man das Paket //sudo-ldap//. Dazu muss man zunächst die //SUDO Safety switch// auf //no// setzen, dieses geht nicht mit einem //sudo// Aufruf, deswegen sollte man sich zuvor mit ''sudo su'' als root einloggen. <code terminal> sudo su export SUDO_FORCE_REMOVE=yes apt-get install sudo-ldap export SUDO_FORCE_REMOVE=no </code> und verlinkt dann die ''/etc/ldap/ldap.conf'' mit der Datei ''/etc/sudo-ldap.conf'', da diese beide den gleichen Inhalt haben müssen. <code terminal> sudo ln -sf /etc/ldap/ldap.conf /etc/sudo-ldap.conf </code> und fügt dann noch die Zeile ''sudoers: files ldap'' zur Datei ''/etc/nsswitch.conf'' hinzu. <code terminal> sudo sh -c "echo 'sudoers: files ldap' >> /etc/nsswitch.conf" </code> ===== Kerberos ===== [{{ :skolelinux:ubuntu:krb_01.png?300|Kerberos-Konfiguration}}] Als nächstes müssen die [[uu>Kerberos]] spezifischen Pakete installiert werden, da auf //tjener// [[uu>Kerberos/LDAP|Kerberos das LDAP-Verzeichnis]] dazu nutzt, seine Schlüssel zu speichern. <code terminal> sudo apt-get install libpam-krb5 krb5-user libsasl2-modules-gssapi-mit </code> Während der Installation wird man nach dem **voreingestellten [[wp>Realm]]** gefragt, dieser ist **INTERN**. ===== Lokale Gruppen ===== Die %%LDAP%%-Benutzer sind nicht automatisch Mitglieder von lokalen Gruppen. Dieses ist aber notwendig; soll ein über %%LDAP%% authentifizierter Benutzer z. B. auf Audiogeräte zugreifen dürfen, so muss er sich in der lokalen Gruppe //audio// befinden. Es gibt weitere solcher Gruppen, die man sich mit ''groups'' für einen lokalen Benutzer anzeigen lassen kann. Damit die über %%LDAP%% authentifizierter Benutzer Mitglieder dieser Gruppe werden, hängt man die Zeile <code> * ; * ; * ; Al0000-2400 ; floppy, audio, cdrom, video, usb, plugdev, users </code> an die Datei ''/etc/security/group.conf'' an. Dies geht schnell mit dem Befehl: <code terminal> sudo sh -c "echo '* ; * ; * ; Al0000-2400 ; floppy, audio, cdrom, video, usb, plugdev, users' >> /etc/security/group.conf" </code> ===== Automount der Homeverzeichnisse ===== Damit die Homeverzeichnisse der Benutzer automatisch gemountet werden, muss man zunächst die beiden Pakete //autofs// und //autofs-ldap// installieren: <code terminal> sudo apt-get install autofs autofs-ldap </code> In der Konfigurationsdatei von //autofs// muss man nun noch den %%LDAP%%-Server eintragen. Dazu ergänzt man die Zeile <code> LDAPURI=ldap://ldap.intern </code> in der Datei ''/etc/default/autofs''. Danach muss man in der Datei ''/etc/nsswitch.conf'', die schon durch das Paket [[#paket_libnss-ldapd|libnss-ldapd]] eingerichtet wurde, noch den Eintrag ''automount: files ldap'' ergänzen, damit auch die Informationen über die Mountpoints vom %%LDAP%% bezogen werden. Die Datei muss dann am Ende so aussehen: <file - /etc/nsswitch.conf> passwd: compat ldap group: compat ldap shadow: compat ldap hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 ldap networks: files ldap protocols: db files services: db files ldap ethers: db files rpc: db files netgroup: nis ldap netgroup: nis ldap sudoers: files ldap automount: files ldap </file> Die Homeverzeichnisse der Benutzer auf //tjener// liegen nicht wie gewöhnlich unter ''/home'' sondern unter ''/skole/tjener/home0''. Diese werden auf den Clients an der selben Stelle gemountet. Somit muss man mit <code terminal> sudo mkdir /skole </code> diesen Mountpunkt erstellen. =====lightDM einrichten===== Nun muss man noch dem [[uu>Displaymanager]] ([[uu>LightDM]]) so einrichten, dass man Benutzernamen eingeben kann und nicht nur lokale auswählen kann: <code terminal> /usr/lib/lightdm/lightdm-set-defaults --show-manual-login true </code> Außerdem sollen die bereits angemeldeten Benutzer nicht als Liste angezeigt werden: <code terminal> /usr/lib/lightdm/lightdm-set-defaults --hide-users true </code> Diese Einstellungen kann man auch direkt in die Datei ''/etc/lightdm/lightdm.conf'' schreiben. ===== Dienste neu starten und testen ===== Nach Neustart aller beteiligten Dienste <code terminal> sudo /etc/init.d/nscd restart sudo /etc/init.d/nslcd restart sudo /etc/init.d/autofs restart sudo /etc/init.d/sudo restart </code> oder des gesamten Clients, kann man sich nun mit Benutzern, die auf //tjener// angelegt wurden, anmelden. Man kann sich mit <code terminal> getent passwd </code> bzw. <code terminal> getent group </code> alle Benutzer des %%LDAP%%-Accounts und Gruppen anzeigen lassen. Wenn man neben den %%LDAP%%-Benutzern auch lokale Benutzer verwenden möchte, ist evtl. der Artikel [[uid_gid_problem]] noch interessant.

Diskussion

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
112 -5 = ?
 
 
skolelinux/ubuntuclients.txt · Zuletzt geändert: 2013/04/02 20:59 von admin