In diesem Kapitel werden fortgeschrittene Administrationsaufgaben beschrieben.
In diesem Beispiel sollen Benutzerkonten in Jahrgangsgruppen angelegt werden, mit Home-Verzeichnissen in einem jeweiligen Gruppenverzeichnis (home0/2024, home0/2026 etc.). Die Konten sollen mittels CSV-Import angelegt werden.
(als Root auf dem Hauptserver)
Legen Sie das gewünschte Gruppenverzeichnis an
mkdir /skole/tjener/home0/2024
(als Erstbenutzer in GOsa²)
Abteilung
Wählen Sie im Hauptmenü »Verzeichnistruktur«. Klicken Sie auf die Abteilung »Students«. Im Basis-Feld sollte »/Students« angezeigt werden. Wählen Sie aus der »Aktionen«-Box »Anlegen/Abteilung«. Geben Sie Werte in die Felder »Name der Abteilung« (2024) und »Beschreibung« (Abschluss 2024) ein, lassen Sie das Basis-Feld unverändert (es sollte »/Students« zeigen). Klicken Sie zum Speichern auf »OK«. Die neue Abteilung (2024) sollte nun unterhalb von »/Students« angezeigt werden. Klicken Sie darauf.
Gruppe
Wählen Sie aus dem Hauptmenü »Gruppen«; dann »Aktionen/Anlegen/Gruppe«. Geben Sie den Gruppennamen ein (lassen Sie »Basis« unverändert, es sollte dort »/Students/2024« stehen) und klicken Sie »OK«, um zu speichern.
Vorlage
Wählen Sie aus dem Hauptmenü »Benutzer«. Wechseln Sie im Basis-Feld zu
»/Students«. Es sollte dort ein Eintrag
NewStudent
vorhanden sein: klicken Sie
darauf. Dies ist die Vorlage »NewStudents«, kein normaler Benutzer. Für den
CSV-Import in Ihre Verzeichnisstruktur müssen Sie eine neue Vorlage anlegen,
die auf dieser basiert. Notieren Sie sich deshalb alle Einträge in den
Feldern der Reiter »Allgemein« und »POSIX«; eventuell Screenshots erstellen,
um Informationen für die neue Vorlage verfügbar zu haben.
Wechseln Sie nun im Basis-Feld zu »/Students/2024«; wählen Sie »Anlegen/Vorlage« und beginnen Sie mit dem Eintragen der von Ihnen gewünschen Werte, zuerst unter dem Reiter »Allgemein«, dann »POSIX«-Einstellungen hinzufügen (unter »POSIX« zusätzlich die neu erstellte Gruppe »2024« unter »Gruppenmitgliedschaft« hinzufügen).
Benutzerdaten importieren
Wählen Sie beim CSV-Import die neue Vorlage aus; ein Test mit einigen Benutzern ist zu empfehlen.
Mit diesem Skript kann der Administrator einen Ordner im Home-Verzeichnis eines jeden Nutzers erstellen und Zugriffsrechte sowie den Besitzer einstellen.
Im Beispiel unten mit group=teachers (die Gruppe Lehrer) und permissions=2770 (die Zugriffsrechte des Ordners für die gemeinsame Ablage) kann ein Nutzer eine Arbeit abgeben, indem er die Datei im Ordner »Arbeiten« speichert. In diesem Ordner besitzen Lehrer (genauer: alle Nutzer in der Gruppe teachers) Schreibrechte, um beispielsweise Kommentare hinzuzufügen.
#!/bin/bash home_path="/skole/tjener/home0" shared_folder="assignments" permissions="2770" created_dir=0 for home in $(ls $home_path); do if [ ! -d "$home_path/$home/$shared_folder" ]; then mkdir $home_path/$home/$shared_folder chmod $permissions $home_path/$home/$shared_folder user=$home group=teachers chown $user:$group $home_path/$home/$shared_folder ((created_dir+=1)) else echo -e "the folder $home_path/$home/$shared_folder already exists.\n" fi done echo "$created_dir folders have been created"
Führen Sie diese Schritte aus, um einen eigenen Dateiserver für das Speichern von Benutzerverzeichnissen - und möglicherweise auch anderen Daten - einzurichten.
Verwenden Sie GOsa², um ein neues System vom Typ
server
einzurichten - wie im
KapitelErste Schritte dieses Handbuchs
beschrieben.
In diesem Beispiel wird 'nas-server.intern' als Servername verwendet. Sobald 'nas-server.intern' konfiguriert ist, sollte kontrolliert werden, ob die NFS-Exporte des neuen Dateiservers für die relevanten Subnetze bzw. Rechner zur Verfügung stehen:
root@tjener:~# showmount -e nas-server Export list for nas-server: /storage 10.0.0.0/8 root@tjener:~#
Hier wird allem auf dem »backbone«-Netzwerk Zugang zum Export »/storage« gewährt. (Um den NFS-Zugang einzuschränken, könnte dies auf die Zugehörigkeit zu einer »netgroup« oder auf einzelne IP-Adressen beschränkt werden - ähnlich, wie dies in der Datei »tjener:/etc/exports« geschieht.
»automount«-Information für 'nas-server.intern' in LDAP hinzufügen, um allen Clients auf Anforderung das automatische Einhängen zu erlauben.
Dies kann nicht mittels GOsa² erfolgen, da dort ein Modul für »automount« fehlt. Verwenden Sie stattdessen »ldapvi« und fügen Sie die erforderlichen LDAP-Objekte mittels Editor hinzu.
ldapvi --ldap-conf -ZD '(cn=admin)' -b
ou=automount,dc=skole,dc=skolelinux,dc=no
Sobald der Editor bereit ist, fügen Sie die folgenden LDAP-Objekte am Ende des Dokuments hinzu. (Der Bestandteil "/&" im letzten LDAP-Objekt ist ein Platzhalter für alle 'nas-server.intern'-Exporte; damit entfällt das Auflisten individueller Einhängepunkte in LDAP.)
add cn=nas-server,ou=auto.skole,ou=automount,dc=skole,dc=skolelinux,dc=no objectClass: automount cn: nas-server automountInformation: -fstype=autofs --timeout=60 ldap:ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no add ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no objectClass: top objectClass: automountMap ou: auto.nas-server add cn=/,ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no objectClass: automount cn: / automountInformation: -fstype=nfs,tcp,rsize=32768,wsize=32768,rw,intr,hard,nodev,nosuid,noatime nas-server.intern:/&
Hinzufügen relevanter Einträge in der Datei »tjener.intern:/etc/fstab«, da »tjener.intern« zum Vermeiden von Endlosschleifen beim Einhängen kein »automount« verwendet:
Legen Sie die Einhängeverzeichnisse mittels
mkdir
an, editieren Sie '/etc/fstab'
entsprechend und führen Sie mount -a
aus,
um die neuen Ressourcen einzuhängen.
Die Benutzer sollten nun Zugang zu den Dateien des Dateiservers 'nas-server.intern' haben, wenn Sie mit einer Anwendung auf das Verzeichnis '/tjener/nas-server/storage/' zugreifen - sei es von einer Workstation, einem LTSP-Thin-Client oder einem LTSP-Server aus.
Es gibt mehrere Wege, den SSH-Zugang zu beschränken; einige sind hier aufgeführt.
Falls keine LTSP-Clients verwendet werden, besteht eine einfache Lösung
darin, eine neue Gruppe (wie z.B. sshusers
)
anzulegen und auf dem Rechner in der Datei /etc/ssh/sshd_config eine Zeile
zu ergänzen. Dann könnten sich nur Mitglieder der Gruppe
sshusers
mittels ssh auf der Maschine von
überall her anmelden.
Dieser Fall kann mit GOsa² ziemlich einfach erledigt werden:
Legen Sie auf dem Basis-Level eine Gruppe
sshusers
an; dort sind schon einige für das
Systemmanagement wichtige Gruppen wie
gosa-admins
vorhanden.
Fügen Sie der neuen Gruppe sshusers
Benutzer hinzu.
Ergänzen Sie den Inhalt der Datei /etc/ssh/sshd_config um die Zeile
AllowGroups sshusers
.
service ssh restart
ausführen.
Die standardmäßige LTSP-Diskless-Client-Einrichtung verwendet keine SSH-Verbindungen. Es genügt, das SquashFS-Image auf dem entsprechenden LTSP-Server zu aktualisieren, nachdem die SSH-Einrichtung geändert wurde.
X2Go-Thin-Clients verwenden SSH-Verbindungen zum entsprechenden LTSP-Server. Es ist also ein anderer Ansatz mit PAM erforderlich.
Auf dem LTSP-Server pam_access.so in der Datei /etc/pam.d/sshd aktivieren.
In der Datei /etc/security/access.conf den Zugang für die (Beispiel-)Benutzer alice, jane, bob and john von überall her sowie für alle anderen Benutzer nur aus den internen Netzwerken ermöglichen durch Einfügen dieser Zeilen:
+ : alice jane bob john : ALL + : ALL : 10.0.0.0/8 192.168.0.0/24 192.168.1.0/24 - : ALL : ALL #
Das Netzwerk 10.0.0.0/8 könnte aus der Liste entfernt und damit der interne SSH-Zugang verhindert werden, falls dedizierte LTSP-Server Verwendung finden. Hinweis: Jemand, der seinen Rechner mit einem der dedizierten LTSP-Client-Netzwerke verbindet, hat dann auch SSH-Zugang zu dem jeweiligen LTSP-Server.
Wenn X2Go-Clients an das Backbone-Netzwerk 10.0.0.0/8 angeschlossen würden, wären die Dinge noch komplizierter und vielleicht würde nur ein ausgeklügeltes DHCP-Setup (in LDAP), das den Vendor-Class-Identifier prüft, zusammen mit einer entsprechenden PAM-Konfiguration es ermöglichen, den internen SSH-Zugang zu deaktivieren.