![]() |
|
Linux - Wegweiser zur Installation & Konfiguration, 3. AuflageOnline-VersionBitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen. Wünschen Sie mehr Informationen zu der gedruckten Version des Buches Linux - Wegweiser zur Installation & Konfiguration oder wollen Sie es bestellen, dann klicken Sie bitte hier.
|
Wir haben bereits darauf hingewiesen, daß Sie in der Regel mit den Sicherheitsvorkehrungen auskommen, die das System bietet. Allerdings gibt es auch Ausnahmen, insbesondere für Systemverwalter. Ein einfaches Beispiel: Nehmen wir an, daß Sie für einen neuen Benutzer unterhalb von /home ein Verzeichnis anlegen. Sie müssen diese Aufgabe als root erledigen, aber später den Benutzer zum Eigner des Verzeichnisses machen. Wenn Sie das nicht tun, wird der Benutzer nicht in diesem Verzeichnis arbeiten können! (Glücklicherweise sorgt der Befehl adduser, den wir im Abschnitt »Die Accounts einrichten« in Kapitel 5 besprechen, automatisch für die richtige Eignerschaft.) |
In ähnlicher Weise haben bestimmte Utilities wie UUCP und News ihre eigenen Benutzer. Niemand wird jemals als UUCP oder News einloggen, aber diese Benutzer und Gruppen müssen auf dem System vorhanden sein, damit die Utilities sicher funktionieren. Im allgemeinen besteht der letzte Schritt bei der Installation darin, daß man Eigner, Gruppe und Berechtigungen so anpaßt, wie es die Dokumentation vorgibt.
Mit dem Befehl chown ändern Sie die Eignerschaft einer Datei und mit chgrp die Gruppe. Unter Linux kann chown nur von root verwendet werden, um die Eigentümerschaft einer Datei zu ändern, aber jeder Benutzer kann seine Gruppe in eine andere Gruppe ändern, zu der er gehört. Nachdem Sie also zum Beispiel die Software sampsoft installiert haben, können Sie mit folgenden Befehlen sowohl den Eigner als auch die Gruppe auf bin ändern:
Das geht auch in einem Schritt, wenn die Punkt-Notation verwendet wird:
Die Syntax für die Änderung der Berechtigungen ist komplizierter. Man nennt die Berechtigungen auch den »Modus« einer Datei, und diesen ändern Sie mit dem Befehl chmod. Lassen Sie uns diesen Befehl anhand eines einfachen Beispiels erkunden - nehmen wir an, daß Sie in Perl oder Tcl ein nettes kleines Programm namens header geschrieben haben, das Sie anschließend ausführen wollen.
Das Pluszeichen bedeutet: »Füge eine Berechtigung hinzu«, und das x
zeigt an, welche Berechtigung gemeint ist.
Wenn Sie jemandem die Ausführberechtigung entziehen möchten, setzen Sie statt des Plus- ein Minuszeichen ein.
Der eben gezeigte Befehl vergibt die Berechtigung auf allen Ebenen - an den Eigner, die Gruppe und Sonstige. Lassen Sie uns annehmen, daß Sie insgeheim ein Sammler von Software sind, der seine Programme für sich behalten möchte. (Nein, das wäre zu hart. Wir wollen statt dessen annehmen, daß Ihr Skript noch nicht einwandfrei funktioniert und daß Sie andere Leute vor Schaden bewahren möchten, bis das Skript fehlerfrei ist.) Mit folgendem Befehl können Sie die Ausführberechtigung nur für sich selbst vergeben:
Alle Angaben vor dem Pluszeichen bezeichnen die Benutzerebene, auf der Sie Berechtigungen vergeben, die Angaben hinter dem Pluszeichen geben die Art der Berechtigung an. Mit g
vergeben Sie Rechte an die Gruppe und mit o
an Sonstige. Wenn Sie die Ausführberechtigung an sich selbst und die Gruppe erteilen wollen, geben Sie ein:
Sie können auch mehrere Berechtigungen gleichzeitig erteilen:
Es gibt noch die eine oder andere Abkürzung, die Sie in der Manpage zu chmod nachlesen können, falls Sie jemanden beeindrucken möchten, der Ihnen über die Schulter sieht. Allerdings bleibt die Funktionalität des Befehls auf das beschränkt, was wir hier vorgestellt haben.
Obwohl die Syntax zur Angabe des Dateimodus schon ziemlich obskur ist, gibt es noch eine andere, kompliziertere Syntax. Aus verschiedenen Gründen müssen wir sie hier trotzdem beschreiben. Erstens gibt es Situationen, in denen die gerade vorgestellte Syntax, genannt symbolischer Modus, nicht ausreicht. Zweitens benutzen die Leute oft die andere Syntax, genannt absoluter Modus, in ihrer Dokumentation. Außerdem könnte es ja passieren, daß Sie die absolute Schreibweise einfach bequemer finden.
Um den absoluten Modus zu verstehen, müssen Sie sich auf die Bitebene und die oktale Schreibweise einlassen. Aber keine Bange - so schwierig wird das nicht. Der typische Modus wird durch drei Zeichen dargestellt, die den drei Benutzerebenen entsprechen (Eigner, Gruppe und Sonstige). Diese Ebenen sind in Abbildung 4-3 dargestellt. Innerhalb jeder Ebene bezeichnen drei Bits die Berechtigung zum Lesen, Schreiben und Ausführen.
Abbildung 4-3: Die Bits im absoluten Modus
Nehmen wir an, daß Sie sich selbst die Leseberechtigung und niemandem sonst irgendwelche Rechte erteilen wollen. Sie möchten also nur das Bit ansprechen, das mit der Nummer 400 bezeichnet ist. Der chmod-Befehl würde dann so aussehen:
Um jedermann die Leseberechtigung zu geben, wählen Sie das entsprechende Bit für alle Benutzerebenen: 400 für den Eigner, 40 für die Gruppe und 4 für Sonstige. Der Befehl lautet dann:
Das entspricht dem Modus +r
- abgesehen davon, daß Sie mit diesem Befehl gleichzeitig alle Berechtigungen zum Schreiben und Ausführen aufheben. (Um es genau zu sagen: Es entspricht dem Modus =r
, den wir weiter oben nicht erwähnt haben. Das Gleichheitszeichen bedeutet: »Vergib diese Berechtigung, und hebe alle anderen Rechte auf.«)
Wenn Sie allen Benutzern die Lese- und Ausführberechtigung zuweisen wollen, müssen Sie die Lese- und Ausführbits addieren. Ein Beispiel: 400 plus 100 ist 500. Der komplette Befehl lautet also:
und das entspricht dem Modus =rx
. Wenn jemand vollen Zugriff erhalten soll, steht an der entsprechenden Stelle eine 7 - nämlich 4 + 2 + 1.
Einen Trick wollen wir Ihnen noch verraten, nämlich wie Sie den Modus voreinstellen können, der jeder Datei zugeordnet wird, die Sie erzeugen (mit einem Texteditor, der Umleitung > usw.). Führen Sie dazu entweder den Befehl umask aus, oder fügen Sie ihn in die Startdatei Ihrer Shell ein. Diese Datei heißt wahrscheinlich .bashrc, .cshrc oder so ähnlich - je nachdem, mit welcher Shell Sie arbeiten. (Wir werden die Startdateien im nächsten Abschnitt besprechen.)
Der Befehl umask bekommt einen Parameter mit auf den Weg, so wie chmod den absoluten Modus mitbekommt. Allerdings ist die Bedeutung der Bits gerade umgekehrt. Sie müssen für Eigner, Gruppe und Sonstige festlegen, welche Berechtigungen Sie vergeben wollen, und dann jede einzelne Ziffer von 7 subtrahieren. Das Ergebnis ist eine dreistellige Maske.
Nehmen wir an, daß Sie sich selbst alle Rechte zugestehen wollen (7), die Gruppe soll Lese- und Ausführberechtigung haben (5), und Sonstige erhalten gar keinen Zugriff (0). Ziehen Sie diese Werte von 7 ab, und Sie erhalten 0 für sich selbst, 2 für die Gruppe und 7 für Sonstige. Der Befehl in Ihrer Startdatei muß also lauten:
Eine merkwürdige Vorgehensweise, aber sie funktioniert. Der Befehl chmod berücksichtigt die Maske, wenn er Ihren Modus interpretiert. Ein Beispiel: Wenn Sie für eine Datei bei der Erzeugung die Ausführberechtigung vergeben, wird chmod Ihnen und der Gruppe die Ausführberechtigung zuteilen, aber alle anderen werden davon ausgeschlossen, weil die Maske für diese Benutzer keine Ausführberechtigung angibt.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Weitere Informationen zum Linux - Wegweiser zur Installation & Konfiguration
Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center
© 2000, O'Reilly Verlag