Was läuft?
Diensten auf der Spur
Autostart von Diensten verhindern
In manchen Fällen wollen Sie nicht, dass installierte Dienste automatisch starten. Entwickeln Sie zum Beispiel ab und an Webseiten, läuft auf Ihrem Rechner vermutlich ein Webserver, Änderungen an den Seiten direkt zu testen. Doch müssen fremde Nutzer Ihren Webserver auch auf einer Konferenz über das WLAN des Veranstalters erreichen? Eher nicht! Den Dienst indes jedes Mal beim Hochfahren des Rechners von Hand zu beenden, klappt vermutlich auch nicht.
Sie könnten jetzt natürlich mit Firewall-Regeln den Zugang zum Webserver blockieren, oder ihn so konfigurieren, dass sich die Seiten nur über ein Passwort abrufen lassen (Stichwort: .htaccess [4]). Besser wäre es jedoch, wenn Netzwerkdienste nur dann laufen, wenn Sie diese auch brauchen.
Um einen Upstart-Dienst vom Start abzuhalten, bearbeiten Sie einfach die Job-Definition für den Dienst. Diese landet jeweils in einer Datei im Verzeichnis /etc/init/. Im Fall eines SSH-Servers wäre dies zum Beispiel die Datei ssh.conf. Öffnen Sie diese in einem Editor, finden Sie stets eine start-Zeile, die bestimmt, bei welchem Ereignis Upstart den Job ausführt. Kommentieren Sie diese Zeile aus, fällt das Startereignis weg und Sie rufen den Dienst fortan manuell auf. Im Beispiel sähe dies aus wie in Listing 1.
Listing 1
# ssh - OpenBSD Secure Shell server # The OpenSSH server provides secure shell access to the system. description "OpenSSH server" #start on filesystem stop on runlevel S [...]
Bei Upstart-Skripten verhindern Sie den automatischen Start also recht einfach. Schwieriger wird es bei SysVinit-Skripten, die Sie im Verzeichnis /etc/init.d/ vorfinden. Von dort aus verlinkt Ubuntu die Dienste in die Runlevel des Systems, damit diese – je nach Status – automatisch starten oder stoppen. Das Ver- und Entknüpfen mit den Runleveln erledigt der Befehl update-rc.d zwar relativ zuverlässig, doch die Einstellung hält nur bis zum nächsten Update des betroffenen Dienstes (Abbildung 3). Wollen Sie den Befehl nicht bei jedem Systemstart (automatisch) aufrufen, verwenden Sie ein grafisches Tool für die Aufgabe.
Das bislang einzige grafische Frontend für die Verwaltung von Upstart- und SysVinit-Jobs ist das Programm Jobs-admin [5] (Abbildung 4). Seit Ubuntu 10.10 installieren Sie es direkt aus den Paketquellen, für Nutzer von Ubuntu 10.04 gibt es ein PPA [6].
Über Jobs-admin starten und stoppen Sie Dienste oder verhindern, dass Ubuntu diese automatisch aufruft. Manche Dienste – etwa SSH – konfigurieren Sie über Jobs-admin sogar. Für SSH erlauben und verbieten Sie etwa die Anmeldung über Passwörter oder als Benutzer root.
Insgesamt sollten Sie jedoch Vorsicht walten lassen: Da Ubuntu keine vollkommen sinnlosen Dienste installiert, sollten Sie Dienste nur entfernen, die Sie definitiv nicht benötigen (etwa den Bluetooth-Dienst, wenn Sie keinen Bluetooth-Adapter besitzen). Stellen Sie zu viele Dienste ab, funktionieren unter Umständen gewisse Automatismen nicht mehr.
Glossar
Loopback-Schnittstelle
Das Internet Protocol (IP) beinhaltet in seiner Spezifikation speziell reservierte IP-Adressen für ein Loopback. Sämtliche Pakete, die ein Programm an diese Adressen sendet, landen wieder auf demselben Computer. Der bekannte Domainname für die Loopback-Schnittstelle lautet localhost.
Broadcast
Per Rundruf (engl. "Broadcast") sendet ein Rechner in einem lokalen Netzwerk Datenpakete an alle anderen Rechner. Das geschieht üblicherweise, wenn der Sender die Adresse des Empfängers der Nachricht noch nicht kennt. So verkündet etwa ein DHCP-Server im LAN seine Existenz via Broadcast. Andere Computer, die dem Netzwerk beitreten wollen, melden sich bei ihm und erhalten eine IP-Adresse. Handelsübliche DSL-Router leiten Broadcasts nicht in das Internet weiter.
Init-System
Init-Prozess (kurz für initiieren) heißt unter Linux der erste, direkt vom Kernel gestartete, Prozess des Systems. Von ihm ausgehend ruft Linux beim Booten dann alle weiteren Dienste und Programme auf.
Runlevel
Der SysVinit-Prozess durchläuft beim Booten verschiedene Zustände (Runlevel). In jedem Runlevel starten und stoppen Prozesse in einer vordefinierten Reihenfolge. Im Gegensatz zu Debian mit seinen fünf Runleveln (plus Shutdown, Single-User und Reboot) nutzt Ubuntu jedoch nur die Runlevel 1 und 2 für den Recovery-Modus und den Mehrbenutzerbetrieb.
Infos
[1] Die "Keine-offenen-Ports"-Policy von Ubuntu: https://wiki.ubuntu.com/Security/Features#ports
[2] Der grafische Boot-Up-Manager: http://www.marzocca.net/linux/bum.html
[3] Das Konsolenwerkzeug Sysv-rc-conf: http://sysv-rc-conf.sourceforge.net
[4] Ausführungen zu ".htaccess": http://aktuell.de.selfhtml.org/artikel/server/htaccess/
[5] Jobs-admin zum Steuern von Upstart: https://launchpad.net/jobsadmin
[6] PPA zur Installation von Jobs-admin: https://launchpad.net/~jpeddicord/+archive/jobs



