15 Backup und Sicherheit
»Real men don't make backups.
They upload it via FTP and let the world mirror it.«
Linus Benedict Torvalds (* 28.12.1969),
finnischer Informatiker und Linux-Initiator
Was Sie in diesem Kapitel erwartet
Wir kommen nun zu einem besonders heiklen Thema, dem Thema Sicherheit. Wir werden im Folgenden gemeinsam untersuchen, ob Linux wirklich sicherer ist oder sein kann als Windows. Die Idee scheint verlockend, dass Sie bei der Verwendung von Linux auf Virenscanner, Firewalls, Anti-Spyware und vieles, was es sonst noch alles gibt, wirklich verzichten können. Aber ist diese Vorstellung auch realistisch? Ich werde zu Beginn auf die Themen Rechte und Datensicherung eingehen. Auch das sicherste System kann Sie zum Beispiel nicht vor einer kaputten Festplatte schützen. Die kleinen Gemeinheiten des Tages können Sie nicht verhindern, aber glücklich ist derjenige, der immer ein aktuelles Backup seiner Daten besitzt.
Benötigtes Vorwissen
Es sind grundlegende Kenntnisse im Umgang mit der Shell nötig.
15.1 Berechtigungen
Wie Sie schon am Anfang dieses Buchs lesen konnten, zeichnet sich Linux gerade auf dem Gebiet der Benutzer- und Rechteverwaltung aus. Sie benötigen also Kenntnisse, wie Sie durch einige leichte Befehle die Dateirechte verändern können.
15.1.1 Dateiberechtigungen
Mit dem Befehl chmod verändern Sie die Zugriffsrechte einer Datei. Der Befehl allein bewirkt noch gar nichts, wenn Sie nicht gleichzeitig mit angeben, für welche Datei Sie die Rechte verändern möchten:
chmod u=rwx,g=rwx,a=r <Dateiname>
Das Gleiche drückt aber auch der Befehl chmod 774 <Dateiname> aus. Doch Sie fragen sich zu Recht, was diese Abküzungen bedeuten sollen. Wie Sie an dem Befehl erkennen, setzt sich die Option, die direkt nach dem Befehl steht, aus drei Teilen zusammen.
Option | Wirkung |
u | User |
g | Gruppe |
o | andere |
a | alle |
+ | Recht hinzuf"ugen |
- | Recht entfernen |
= | Recht zuordnen |
r | lesen |
w | schreiben |
x | ausf"uhren |
s | su-Bit |
Da Sie bei dieser Methode doch ziemlich viel tippen müssen, gibt es alternativ die Möglichkeit, einen dreistelligen Code zu verwenden. Dabei stehen die drei Ziffern f"ur die Rechte eines Users, einer Gruppe und der anderer. Die Ziffern ergeben sich durch Addition folgender Werte:
Wert | Wirkung |
4 | lesen |
2 | schreiben |
1 | ausführen |
SU-Bit
Eine vorangestellte 4 setzt das su-Bit. Die Reihenfolge der Ziffern ist ebenso festgelegt. Zuerst erfolgt die Vergabe der Rechte an den User (also Sie), danach an die Gruppe (zu der Sie eventuell gehören) und als Letztes an die anderen. Mit einer 7 vergeben Sie die maximalen Rechte. Das obige Beispiel legt also fest, dass die Datei von User und Gruppe les-, schreib- und ausführbar sein soll und für alle anderen lesbar. Möchten Sie rekursiv für alle Leserechte hinzufügen, können Sie das mit folgendem Aufruf erledigen: chmod -R a+rX.
Die Rechte einzelner Dateien und Verzeichnisse lassen sich natürlich auch grafisch verändern (siehe Abbildung 15.1), wenngleich die beschriebene Vorgehensweise über das Terminal wesentlich bequemer ist.
Abbildung 15.1 Die Rechte lassen sich auch bequem über eine grafische Oberfläche definieren. Klicken Sie dazu mit der rechten Maustaste auf die jeweilige Datei, und wählen Sie den Punkt »Eigenschaften«.
PolicyKit
Mit der Version 2.22 der Desktop-Umgebung GNOME begann die Integration des PolicyKits. Über PolicyKit können Anwendungen mit Benutzerrechten gestartet und später mit Root-Rechten versehen werden. Mittels PolicyKit lassen sich des Weiteren Rechte fein verteilen. So ist es beispielsweise möglich, Benutzer zu bestimmen, denen bestimmte Aktionen erlaubt werden, für die normalerweise Root-Rechte vonnöten wären (siehe Abbildung 15.2). Beispielsweise ist es möglich, einem Benutzer zu erlauben, die Netzwerkeinstellungen oder die Uhrzeit des Systems zu verändern, ohne ihn in die admin-Gruppe aufnehmen zu müssen.
Abbildung 15.2 Um Anwendungen mit Root-Rechten zu starten, musste man diese bisher als Root in einem Terminal aufrufen (sudo) oder auf eine integrierte Abfrage hoffen.
Ausblick
Sobald PolicyKit einmal in den Dateimanager Nautilus oder in den Texteditor gedit von GNOME eingebaut sein wird, können Sie beispielsweise Dateien in Verzeichnisse verschieben oder diese editieren, ohne dass das Programm mit Root-Rechten gestartet sein muss. Sind höhere Rechte für eine Operation nötig, erscheint eine Abfrage, über die Sie die gewünschte Operation autorisieren. Leider ist die Integration von PolicyKit – beispielsweise in Nautilus – in letzter Zeit nicht deutlich fortgeschritten. Dabei wäre ein einfaches grafisches Kopieren mit optionaler Abfrage von Root-Rechten eine wünschenswerte Sache – gerade für Einsteiger, die ja zur Zielgruppe von Ubuntu gehören.
Tipp 235: Passwort ändern |
Wenn Sie die Passwörter der Benutzer – auch Ihr eigenes – ändern möchten, so haben Sie zwei Möglichkeiten. Sie können dies zum einen grafisch erledigen. Öffnen Sie hierzu Systemeinstellungen • Benutzer, entsperren Sie die Anwendung durch einen Klick auf den Button Entsperren, und geben Sie Ihr Passwort ein. Nun können Sie den betreffenden User markieren und auf das Passwort klicken. In einem neuen Fenster können Sie daraufhin ein Passwort definieren (siehe Abbildung 15.3). |
Zum anderen können Sie Passwörter auch über das Terminal ändern. Um das Passwort des gerade angemeldeten Benutzers zu ändern, reicht die Eingabe des Kommandos passwd. Geben Sie zuerst Ihr altes und dann zweimal Ihr neues Passwort ein, um die Änderung zu übernehmen. Mit sudo passwd user können Sie übrigens auch das Passwort jedes beliebigen Benutzers ändern, ohne dass dessen altes Passwort verlangt wird (user müssen Sie durch den betreffenden Benutzernamen ersetzen). |
Abbildung 15.3 Über die grafische Benutzerverwaltung können Sie sichsogar Passwörter vorschlagen lassen.
15.1.2 PAM
PAM (Pluggable Authentication Modules) erlaubt die Kontrolle von Logins. Statt die Einzelheiten der Authentisierung in jeder Applikation neu zu formulieren, bietet die PAM-API einen standardisierten Dienst in Form von Modulen an. In einer Konfigurationsdatei kann der Systemadministrator die Authentisierungsmodule einzelnen Diensten zuordnen, ohne dafür die Software, die diese Dienste realisiert, neu kompilieren zu müssen.
Zentrale Speicherung der Anmeldedaten
PAM wird in der Praxis häufig dafür eingesetzt, verschiedenste Serverdienste, wie SSH und FTP, mit nur einem Authentisierungsdienst zu verbinden. So wird die zentrale Speicherung der Anmeldedaten dieser Dienste ermöglicht. Wird das Passwort an der zentralen Stelle geändert, können Sie sich bei allen Diensten direkt mit dem neuen, zentral gespeicherten Passwort anmelden. Getrennte Passwortdatenbanken für einzelne Dienste sind nicht notwendig.
/etc/pam.d/* # PAM-Konfiguration
/etc/pam.d/login # PAM-Konfiguration des Logins
/etc/security/* # PAM-Modulparameter
/etc/securetty # Konfiguration des root-Login auf der Konsole
/etc/login.defs # generelle Logins
Falls wirklich (auf eigene Gefahr) ein Login an der Konsole ohne Passwort möglich sein soll, können Sie die Datei /etc/pam.d/login wie folgt ändern:
#auth required pam_unix.so nullok
auth required pam_permit.so
Ähnlich funktioniert das auch mit xdm, gdm usw., um sich ohne Passwort an einer anderen X-Konsole anzumelden.
Andererseits können Sie das Paket cracklib2 installieren und /etc/pam.d/passwd wie folgt anpassen, um einen guten Passwortschutz zu erhalten:
password required pam_cracklib.so retry=3 minlen=6 difok=3
Ein einmaliges Nutzen eines Login-Passworts zur Zugangsaktivierung kann auch hilfreich sein. Dafür verwenden Sie das passwd-Kommando mit der Option -e.
Prozesse
Die maximale Anzahl an Prozessen kann mit ulimit -u 1000 in der Bash-Shell gesetzt werden oder auch in der Datei /etc/security/limits.conf mit PAM. Andere Parameter, wie zum Beispiel core, können so ebenfalls gesetzt werden. Die Anfangseinstellung von PATH kann in /etc/login.defs festgelegt werden, bevor die Shell Skripte startet.
Die Dokumentation von PAM befindet sich im Paket libpam-doc. Das in diesem Paket enthaltene Buch Linux-PAM System Administrator’s Guide von Andrew G. Morgan und Thorsten Kukuk behandelt PAM, die verfügbaren Module usw. Die Dokumentation enthält auch The Linux-PAM Application Developers’ Guide und The Linux-PAM Module Writers’ Guide.
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.