Dienste
Inhaltsverzeichnis
1 Dienste
Im CRANIX 4 hat Systemd das alte SysVinit abgelöst. Weiterhin gibt es noch einige Dienste, welche auf die altbekannten rc-Befehle hören. Die meisten Dienste kann man jedoch nur noch über den systemctl-Befehl steuern.
Die wichtigsten systemctl Befehle sind:
Befehl | Beschreibung |
---|---|
systemctl status <Dienst> | Status eines Dienstes abfragen. |
systemctl stop <Dienst> | Dienst stoppen. |
systemctl start <Dienst> | Dienst starten. |
systemctl enable <Dienst> | Dienst bei Systemstart automatisch starten. |
systemctl disable <Dienst> | Dienst bei Systemstart nicht startet. |
2 Logfiles
Im CRANIX werden die Systemlogs nicht mehr in die gewohnten Dateien im /var/log/ Verzeichnis, sondern in das Systemd-Journal-System, geschrieben. Die Logmeldungen können mit dem journalctl-Befehl gelesen werden.
Hier einige nützliche Optionen des journalctl-Befehls:
Befehl | Beschreibung |
---|---|
journalctl | Listet alle Systemlogs auf. |
journalctl -f | Liest live die aktuelle Meldungen |
journalctl -fu <Dienst> | Liest live die aktuelle Meldungen eines Dienstes. |
journalctl -u <Dienst> -S "<YYYY-MM-DD[ HH:MM:SS]>" -U -S "<YYYY-MM-DD[ HH:MM:SS]>" | Liest die Meldungen eines Dienstes im angegebenen Zeitraum. |
Wie und wann systemd die Logfiles löscht ist in /etc/systemd/journald.conf festgelegt. Für den CRANIX sind folgende Parameter (mit den Standardeinstellungen) relevant:
- SystemMaxUse=10% Anteil am Filesystem, den systemd für logs benutzen darf.
- SystemKeepFree=15% Anteil am Filesystem, den systemd für andere unbedingt frei lassen muss auch wenn SystemMaxUse noch nicht erreicht wurde.
- MaxRetentionSec=0 Dauer der Speicherung von Logfiles: 0 bedeutet für immer.
Ändert man einen dieser Werte: muss anschließend der Befehl "systemctl daemon-reload" ausgeführt werden.
3 Verbotene Dienste im CRANIX
Im CRANIX 4.0 übernimmt samba wesentlich mehr Dienste als im OSS 3.4.x. Das führt auch dazu, dass einige Dienste auf CRANIX weder installiert noch gestartet werden dürfen:
- nscd
- named
4 Die wichtigsten Dienste am CRANIX
- cups: ist der Printserver auf dem CRANIX. Cups ist in erster Linie so konfiguriert, dass dieser nur vom CRANIX aus verwaltet werden kann. Da der CRANIX die Printerintegration eigenständig erledigt, ist eine Administration über die CUPS-Weboberfläche nicht erforderlich. Cups logt in /var/log/cups in drei Dateien "access_log","error_log" und "page_log".
- dhcpd: sorgt für die IP-Adressenvergabe. Dieser Dienst logt ausschließlich in Systemd-Journal-System. Die Konfigurationsdatei /etc/dhcpd.conf wird aus einer Templatedatei /usr/share/cranix/templates/dhcpd.conf und aus den Daten der Datenbank erstellt. Diese dhcpd-Templatedatei darf nur globale Konfigurationen erhalten. Vor allem host-Deklarationen dürfen hier nicht vorkommen./usr/share/cranix/templates/dhcpd.conf darf angepasst werden. Diese Datei wird bei der Installation erstellt und wird durch Updates nie verändert.
- mysql: hier werden alle Daten (Benutzer Räume Geräte ...) gespeichert. Dieser Dienst muss laufen. Das Passwort für root ist in /root/.my.conf gespeichert. Der cranix-api Dienst greift mit dem Benutzer cranix auf die Datenbank CRX zu. Sein Passwort ist in /opt/cranix-java/conf/cranix-api.properties gespeichert.
- cranix-api: ist das Backend für die Administrationsobefläche. Die Ausgabe dieses Dienstes wurde auch in journalctl umgeleitet. Der log-level kann in /opt/cranix-java/conf/cranix-api.properties eingestellt werden.
- crx_get_screen_shots: Dieser Dienst sorgt dafür, dass regelmäßig Screenshots von den Clients erstellt werden, damit diese unter Pädagogik -> Unterricht angezeigt werden können. Dieser Dienst ist Teil vom UltraVnc Paket, was man mit der Softwareverteilung von CRANIX auf den Clients installieren kann.
- crx_salt_event_watcher: ist ein Dienst welcher nach salt-Events lauscht und je nach Event, Plugin-Scripte in /usr/share/cranix/plugins/clients/ startet. Die wichtigsten Events sind die Start-Events. Dadurch werden die Softwareinstallationen getriggert.
- salt-master: ist der Dienst für die Verwaltung der Clients. Dieser logt ausschließlich in das Systemd-Journal-System.
- samba-ad: Das ist unser zentraler Anmelde- und Fileserverdienst ein SAMBA Active Directory (AD)-Server. Weiterhin dient dieser auch als DNS und Zeitserver und über Winbind sorgt er auch für die Zuordnung, von Samba-SID zu UNIX-uidNumber. Samba schreibt seine Logs in /var/log/samba/ bzw. einige Meldungen (Start und Stop und Fehler) auch in das Systemd-Journal-System.nmbd und smbd dürfen NIE manuell gestartet werden. Der Dienst samba-ad sorgt dafür,dass alle nötige Prozesse gestartet werden.
- samba-printserver: ist die Printserver-Instanz des Samba-Servers (CRANIX spezifisch). Stellt die registrierten Drucker und deren Treiber, über das samba-Protokoll zur Verfügung. Diesen Dienst gibt es seit der Version 4.4 nicht mehr.
- samba-fileserver: ist die Fileserver-Instanz des Samba-Servers (CRANIX spezifisch).
Die Anbindung eines Windows-Rechners an einen Active Directory (AD)-Server als Domänenmitglied bietet zahlreiche Vorteile:
Zentralisierte Benutzerverwaltung: Administratoren können Benutzerkonten und Gruppen zentral verwalten, was die Verwaltung von Berechtigungen und Zugriffsrechten erleichtert.
Single Sign-On (SSO): Benutzer können sich einmal anmelden und auf verschiedene Ressourcen im Netzwerk zugreifen, ohne sich erneut authentifizieren zu müssen.
Gruppenrichtlinien: Durch Gruppenrichtlinien können Administratoren Einstellungen und Sicherheitsrichtlinien für alle Domänenmitglieder zentral festlegen und durchsetzen, was die Sicherheit und Konsistenz erhöht.
Erleichterte Ressourcennutzung: Domänenmitglieder können einfacher auf freigegebene Ressourcen wie Drucker, Dateien und Anwendungen im Netzwerk zugreifen.
Sicherheit: Die Authentifizierung erfolgt über den AD-Server, was eine höhere Sicherheit bietet. Zudem können Sicherheitsrichtlinien wie Passwortkomplexität und -ablauf zentral durchgesetzt werden.
Zugriffskontrolle: Administratoren können den Zugriff auf bestimmte Ressourcen basierend auf Benutzerrollen oder Gruppenmitgliedschaften steuern.
Einfache Integration von Diensten: Viele Unternehmensanwendungen und -dienste sind so konzipiert, dass sie nahtlos mit Active Directory zusammenarbeiten, was die Integration erleichtert.
Auditierung und Protokollierung: Die Aktivitäten der Benutzer in der Domäne können besser überwacht und protokolliert werden, was für Sicherheits- und Compliance-Zwecke wichtig ist.
Insgesamt verbessert die Anbindung an einen AD-Server die Effizienz der IT-Verwaltung, erhöht die Sicherheit und vereinfacht den Zugriff auf Netzwerkressourcen für die Benutzer.
5 Struktur der Webserverkonfiguration des CRANIX
5.1 Virtuelle Webserver
Der Webserver des CRANIX ist so konfiguriert, dass dieser zwei IP-Adress-basierte virtuelle Webserver anbietet. Auf welche IP-Adressen und Ports der Webserver hört wird in der Datei /etc/apache2/listen.conf definiert. Standardmäßig sind das die IP-Adressen von admin und schoolserver bzw. die Ports 80 und 443. Diese Aufteilung ist nötig, damit die Administrationswebseite immer erreichbar ist, auch wenn die Webseiten der anderen Dienste gesperrt sind.
5.2 Konfiguration der virtuellen Webserver
Bitte beachten: jede Änderung der Konfiguration in den entsprechenden Konfigurationsdateien wird erst wirksam, wenn der laufende Apache-Daemon dazu aufgefordert wurde die Konfiguration neu zu lesen. Auf der Kommandozeile führen Sie dazu den Befehl " rcapache2 reload " als Benutzer "root" aus.
Für beide virtuellen Webserver gibt es je eine Basiskonfigurationsdatei:
/etc/apache2/vhosts.d/admin_include.conf /etc/apache2/vhosts.d/oss_include.conf
Diese Dateien enthalten die Grundkonfigurationen Dokumentroot, Servername und die SSL-Konfigurationen (Zertifikaten usw.). In diese Dateien werden andere Konfigurationen importiert, die die eigentliche Konfiguration der Webseiten enthalten. Diese Konfigurationsdateien liegen in 4 Verzeichnissen und haben die Endung .conf. Je nach dem unter welcher URL ein Webinhalt erreicht werden soll, muss die Konfigurationsdatei in das entsprechende Verzeichnis gelegt werden:
/etc/apache2/vhosts.d/admin/ für http://admin/<Webinhalt> /etc/apache2/vhosts.d/admin-ssl/ für https://admin/<Webinhalt> /etc/apache2/vhosts.d/cranix/ für http://cranix/<Webinhalt> /etc/apache2/vhosts.d/cranix-ssl/ für https://cranix/<Webinhalt>
Aus Gründen der Kompatibilität existieren auf Servern, die vor CRANIX-4.3 installiert wurden auch folgende Möglichkeiten:
/etc/apache2/vhosts.d/oss/ für http://schoolserver/<Webinhalt> /etc/apache2/vhosts.d/oss-ssl/ für https://schoolserver/<Webinhalt>
Das DocumentRoot von https://schoolserver bzw. http://schoolserver ist /srv/www/oss. Legt man also ein Verzeichnis /srv/www/oss/webseiten an, kann dessen Inhalt mit den URLs https://schoolserver/webseitenbzw. http://schoolserver/webseiten erreicht werden.
5.3 WebDav Zugang CRANIX-Cloud
Um auf den CRANIX-Server mit WebDav-Clients zugreifen zu können muss das Paket cranix-cloud installiert werden. Nach der Installation hat man über die URL https://cranix.<Domainname>/user Zugriff auf das eigene Homeverzeichnis und auf die Tauschverzeichnisse.
5.4 public_html Verzeichnisse
In den Verzeichnissen /etc/apache2/vhosts.d/oss/ und /etc/apache2/vhosts.d/oss-ssl/ liegen zBp. die zur Freigabe der public_html Verzeichnissen der Benutzer nötigen Konfigurationsdateien:
public_html_administration.conf.in public_html_teachers.conf.in public_html_students.conf.in
Diese sind jedoch noch nicht aktiviert, da diese alle die Endung .in haben. Möchte man zBp die public_html Verzeichnisse der Lehrer unter der URL https://schoolserver/~<Benutzername>/ freigeben, muss man die Datei /etc/apache2/vhosts.d/oss-ssl/public_html_teachers.conf.in nach /etc/apache2/vhosts.d/oss-ssl/public_html_teachers.conf kopieren.
5.5 LDAP-Authorizierung
Man kann den CRANIX für LDAP-Authorisierung verwenden. Dazu müssen die apache2-Module authnz_ldap und ldap aktiviert werden. Tragen Sie diese in die Variable APACHE_MODULES in der Datei /etc/sysconfig/apache2 ein und starten Sie den Webserver neu. Für den entsprechenden Teil der Webserverkonfiguration müssen Sie nun folgende Einträge machen. Bitte vergessen Sie nicht die Texte zwischen <> auszutauschen!
AuthType Basic AuthName "<Titel für den Authorisierungsbereich>" AuthBasicProvider ldap AuthLDAPURL ldap://localhost/<LDAP-BASE>?cn??(objectclass=organizationalPerson) AuthLDAPBindDN CN=ossreader,CN=Users,<LDAP-BASE> AuthLDAPBindPassword ossreader Require valid-user
Wenn Sie per ldap von einem entfernten Rechner auf den CRANIX-Server zugreifen haben Sie 2 Möglichkeiten:
- Unverschlüsselt: ldap://admin. In diesem Fall muss in der Dateie /etc/samba/smb.conf in [global] Sektion ldap server require strong auth = no eingetragen werden. Das betrifft nur die Kommunikation zwischen LDAP-Server und Webserver.
- Verschlüsselt. In diesem Fall muss als LDAPUrl ldaps://admin... verwendet werden. Weiterhin muss LDAPVerifyServerCert = no eingetragen werden, da der Samba-Server mit einem selbstsigniertem Zertifikat arbeitet.