Home / LinuxUser / 2004 / 07 / chmod, chown, chgrp und umask

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

War doch klar...
(229 Punkte bei 11 Stimmen)
Pardus Linux am Ende?
(201 Punkte bei 6 Stimmen)
Meinst Du: Patch CD Updates?
(179 Punkte bei 5 Stimmen)
One goes, one comes
(161 Punkte bei 4 Stimmen)
Speichern in der Cloud
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Gleiches Recht für alle?

chmod, chown, chgrp und umask

01.07.2004 Hände weg von fremden Dateien: Dank eines ausgefeilten Rechte-Systems können Sie unter Linux Ihre Dateien für andere Benutzer freigeben oder sperren. Dazu setzen Sie entweder Kommandos wie chmod und chgrp ein oder legen schon im Vorfeld mit umask fest, wer was darf.

Zu Befehl

Auch wenn sich viele Dinge bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen – wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Abgesehen davon gibt es auch sonst viele Situationen, in denen es gut ist, sich im Befehlszeilendschungel ein wenig auszukennen.

Das Rechtesystem unter Linux ist gut geregelt: Jede Datei hat einen Besitzer, und detaillierte Zugriffsrechte legen fest, wer die Datei lesen, schreiben oder ausführen darf. Dabei unterscheidet Linux zwischen Zugriffsrechten für den Dateieigentümer, für Mitglieder einer Gruppe und für alle sonstigen Benutzer des Rechners. Natürlich gilt wie immer: Der Administrator root darf alles und sollte daher vorsichtig mit den hier vorgestellten Kommandos hantieren.

Mit dem Befehl chmod verändern Sie die Zugriffsrechte von Dateien – natürlich nur, wenn Sie der Eigentümer oder der Systemdministrator sind. Als root dürfen Sie darüber hinaus mit dem Befehl chown Dateien einen neuen Besitzer geben. Wer für neue Dateien Voreinstellungen für die Zugriffsrechte festlegen möchte, setzt das Kommando umask ein – wir zeigen einen Weg durch den "Rechtedschungel".

Benutzer und Gruppen

Es gibt unter Linux drei Möglichkeiten, Benutzerrechte zu steuern: Zunächst einmal gibt es Rechte für den Dateibesitzer, dann für eine ganze Gruppe von Benutzern (jede Datei kann man genau einer Gruppe zuordnen) und schließlich für alle anderen Benutzer des Systems, die nicht in eine der beiden ersten Kategorien passen.

Das Konzept, mehrere Benutzer zu einer Gruppe zusammenzufassen, bringt viele Vorteile mit sich: So gibt es bei vielen Distributionen beispielsweise eine Gruppe namens audio – ihre Mitglieder dürfen unter anderem auf das Sound-Device (/dev/dsp) zugreifen. Der Zugriff auf CD-/DVD-ROM-Laufwerke ist auf den meisten Distributionen ähnlich geregelt. Mitglieder einer Gruppe teilen sich also bestimmte Rechte. Alle anderen Benutzer, die nicht zu der Gruppe gehören, werden unter "others" zusammengefasst.

Mit dem Kommando ls und dessen Option -l zeigen Sie außer dem Namen der Datei unter anderem den Typ, die Rechte, den Besitzer, die Gruppe und die Größe an (Kasten 1).

Kasten 1: Ausgabe von "ls"

huhn@open:~$ ls -l
[…]
-rw-rw—-    1 huhn     video     3002156 2004-05-24 20:29 bla.mpg
-rw——-    1 huhn     users        3526 2004-05-24 20:26 rechte.html
drwx——    3 huhn     users        4096 2004-05-24 19:16 titelpix/
[…]

Im ersten Feld dieser Ausgabe, der Kombination aus Buchstaben und Strichen, stehen die eigentlichen Zugriffsrechte der Datei. Im dritten Feld sehen Sie den Besitzer (Benutzer huhn), danach folgt die Gruppe (video oder users). Die Rechte lassen sich schnell entziffern: Das erste Zeichen bezeichnet den Dateityp. Der Bindestrich steht für eine "normale" Datei, das d bedeutet "directory" (Verzeichnis). Alternativ könnte hier ein b (blockorientiertes Gerät), c (zeichenorientiertes Gerät), l (symbolischer Link), p (FIFO-Datei, named pipe) oder s (Unix domain socket) stehen.

Als nächstes folgen drei Dreiergruppen, in denen jeweils r (read, lesen), w (write, schreiben) und x (execute, ausführen) stehen können. Steht an der Position statt einem dieser drei Buchstaben ein Minus-Zeichen, fehlt das entsprechende Recht. Die erste Dreiergruppe gehört zum Dateieigentümer, die zweite zur Gruppe und die dritte zu den sonstigen Anwendern. Für die Dateien aus dem ersten Beispiel gilt also: Die Datei bla.mpg ist für den Dateieigentümer (huhn) und für Mitglieder der Gruppe video les- und schreibbar. Alle anderen Benutzer auf dem System dürfen sie weder lesen noch schreiben; ausführen kann die Datei niemand, auch der Besitzer nicht.

Für Verzeichnisse haben diese neun Zugriffs-Flags eine leicht abweichende Bedeutung: r steht weiterhin für "readable", das heißt, die jeweiligen Anwender (Eigentümer, Gruppenmitglieder, sonstige) können den Inhalt des Verzeichnisses mit ls betrachten. Ein x bedeutet, dass man mit dem Befehl cd hinein wechseln darf – aber nur wenn x und w beide gesetzt sind, darf man dort auch Dateien ablegen. Andernfalls erscheint die Fehlermeldung Keine Berechtigung.

Noch mehr Rechte

Neben Lesen, Schreiben und Ausführen gibt es aber noch weitere Rechte zu verteilen, zum Beispiel das s- und das t-Bit: Das s-Bit (Setuid-Bit) ist eine spezielle Zusatzangabe für ausführbare Dateien. Wenn man es für den Eigentümer und/oder für die Gruppe setzt, erscheint es in der ls-Ausgabe an der Stelle, an der sonst das x steht. Wenn man die mit s-Bit versehene ausführbare Datei startet, führt Linux sie mit den Rechten des Dateieigentümers und/oder der Gruppe aus.

Wenn Sie als Administrator das s-Bit für Programme setzen, die root gehören, kann das ein erhebliches Sicherheitsrisiko sein – normale Benutzer können die Datei ausführen, als wären sie root.

Für Verzeichnisse hat das s-Bit eine andere Bedeutung: Gibt es beispielsweise eine Gruppe von Anwendern, die in einer Abteilung einer Firma arbeiten, kann der Administrator eine Gruppe für diese anlegen und alle Benutzer der Gruppe hinzufügen. Anschließend legt er ein Verzeichnis an, ordnet es der neuen Gruppe zu und setzt das s-Bit für die Gruppe. Alle neu angelegten Dateien in diesem Verzeichnis gehören danach zu dieser Gruppe.

Das t-Bit wird auch Sticky-Bit genannt. Es ersetzt ebenso wie das s-Bit in der Darstellung das x-Flag. Bei Programmen ist es eher selten zu finden; es zeigt dem System dann an, dass ein Programm nach der Ausführung im Speicher bleiben soll anstatt wie üblich den Speicher freizugeben – das beschleunigt den Start von oft benutzten Programmen. Eine ganz andere Auswirkung hat das t-Bit auf Verzeichnisse: Normalerweise kann man jede beliebige Datei in einem Verzeichnis, für das man Schreibrechte besitzt, löschen, auch wenn die Datei einem anderen Benutzer gehört. Für Sammelverzeichnisse, wie zum Beispiel /tmp, in denen Dateien mehrerer Benutzer liegen, setzt man das t-Bit: Trotz Schreiberlaubnis in dem Verzeichnis können dann alle Benutzer nur noch ihre eigenen Dateien (und solche, für die sie Schreiberlaubnis haben) löschen. Achtung: Wenn man Eigentümer des Verzeichnisses ist, spielt das t-Bit keine Rolle – man darf in jedem Fall löschen.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

3291 Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

title_2012_02

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Duden Korrektor unter 64-Bit
Duden Korrektor unter 64-Bit
Tim Schürmann, 06.02.2012 10:36, 0 Kommentare

Der Duden Korrektor bietet eine äußerst nützliche Rechtschreib- und Grammatikkorrektur für LibreOffice und bringt in der aktuellen Version 8 e...

Aktuelle Fragen

rndc reload zone - failed bad zone
Ludwig jun. B., 06.02.2012 16:08, 2 Antworten
Schönen guten Tag, ich habe folgendes Problem. Immer wenn ich folgendes Kommando ausführen bek...
Skype für 64-Bit-Prozessor u. Suse 12.1
Klaus Sigerist, 05.02.2012 11:39, 3 Antworten
Hallo Gemeinde! Ich bin nur ein einfacher Nutzer und habe Probleme mit der Installation von Skyp...
8! Anfängerfrage :) Wie finde ich in Ubuntu die Datenträger (Bild, Text)
samuel leusam, 04.02.2012 15:53, 1 Antworten
Ich habe neu Ubuntu. Wenn ich die SD Karte im Laptop einstecke, erkennt er sie und gibt ihr den N...
OpenSuse 12.1-Service Kit 01/12
Christoph-J. Walter, 28.01.2012 08:52, 2 Antworten
Hallo Gemeinde, ich habe 12.1 neu installiert. Alles in Ordnung! Nun möchte ich das Service Kit (...
Ubuntu 11.10 konfigurieren
Michael Hinz, 27.01.2012 17:52, 1 Antworten
Ubuntu läuft bei mir. Allerdings nur, wenn die Daten-CD eingelegt ist. Unabhängig von Bios-Einste...