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

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(161 Punkte bei 4 Stimmen)
Mandriva in Nöten
(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

3689 Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

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

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...