Movatterモバイル変換


[0]ホーム

URL:


Zum Inhalt springen
WikipediaDie freie Enzyklopädie
Suche

chmod

aus Wikipedia, der freien Enzyklopädie
Beispiele von chmod

chmod (von englisch:change mode) ist ein Kommandozeilenprogramm unterUnix, mit dem sich die klassischenUnix-Dateirechte verändern lassen. Daschmod-Kommando gibt es bereits seit der ersten Version desAT&T-Unix (Anfang der 1970er Jahre).

Die Attributsänderungen lassen sich nur von dem Besitzer der Datei oder demroot-Benutzer durchführen.

Benutzung

[Bearbeiten |Quelltext bearbeiten]

Das Programm wird in derUnix-Shell wie folgt benutzt:

$ chmod [options]modefile1 …

Es sind zunächst Optionen möglich;options kann dabei-v für ausführliche Ausgaben (verbose) und-R fürrekursives Durchgehen allerUnterverzeichnisse sein.

mode steht für die auf die Datei oder Dateien anzuwendende Rechtemaske. Diese kann in einernumerischen Notation oder einersymbolischen Notation geschehen.


Symbolische Notation

[Bearbeiten |Quelltext bearbeiten]

chmod ermöglicht eine Kurzschreibweise, um Dateirechte einfach zu kombinieren. Dabei stehtu für den Eigentümer (user),g für die Gruppe (group) undo für alle anderen Benutzer (other). Schließlich gibt es nocha, welches alle drei Benutzergruppen umschließt (all). Um zum Beispiel allen möglichen Benutzern die Ausführrechte einer Datei zu geben, reicht einchmod a+xdateiname.

DieseBenutzerklassen werden mit drei möglichenOperatoren mit den Dateirechten verknüpft:

  • + fügt die entsprechenden Dateirechte den entsprechenden Benutzerklassen hinzu (überschreibt nur die betroffenen Rechte)
  • - entzieht den entsprechenden Benutzerklassen die entsprechenden (und betroffenen) Dateirechte
  • = setzt für die Benutzerklassen die entsprechenden Dateirechte neu, ungeachtet ihrer vorherigen Rechte am Objekt (override).

Anschließend werden die entsprechenden Dateirechte angegeben. Dies sindr,w,x,s undt entsprechend der klassischensymbolischen Notation. Zusätzlich gibt es noch das spezielle ZeichenX (special execute). Dabei handelt es sich nicht um ein Dateirecht, sondern um einen Ersatz fürx, welches bei Verzeichnissen das Ausführ-Recht setzt (ungeachtet, ob sie es vorher gesetzt hatten) und nur bei den Dateien ein Ausführ-Recht setzt, die bereits ein Ausführ-Recht bei mindestens einer Benutzerklasse gesetzt haben. Es ist daher nur dann sinnvoll, wenn es mit+ und der-R-Option genutzt wird, um den entsprechenden Benutzerklassen Zugriff zu einem Verzeichnisbaum zu geben, ohne normalen Dateien (keinen Programmen) das Ausführ-Bit zu setzen, was normalerweise beim Aufruf vonchmod -R a+rx passieren würde. MitX hingegen kann manchmod -R a+rX benutzen.

Numerisch

[Bearbeiten |Quelltext bearbeiten]

Die numerische Benutzung des chmod ist folgendermaßen aufgebaut:

chmod SUGO beispiel.txt

S steht dabei für das auch sogenannteSticky-Bit, es hat üblicherweise den Wert 0
U … für den Benutzer (englischuser) oder auch Besitzer (und Eigentümer) der Datei
G … für die Gruppe und
O … für das englischeother(s), also alle anderen Benutzer

Die vieroktalen Ziffern nach dem Befehlchmod tragen für die Stellen von S, U, G oder O je einen Wert von 0 bis 7. Bei U, G und O steht 4 für lesen, 2 für schreiben und 1 für ausführen.

#Berechtigungrwx
7Voll111
6Lesen und Schreiben110
5Lesen und Ausführen101
4Nur Lesen100
3Schreiben und Ausführen011
2Nur Schreiben010
1Nur Ausführen001
0Keine000

DasSticky-Bit ergibt ein unterschiedliches Verhalten bei Verzeichnissen und Dateien. Bei Verzeichnissen erzeugt in den meisten modernen UNIX-Implementierungen ein gesetztes sticky-Bit die Eigenschaft, dass (bei entsprechenden übrigen Rechten) jeder Benutzer Dateien in das Verzeichnis schreiben darf, aber nur seine eigenen bearbeiten oder löschen kann. Ebenfalls möglich sind die Werte 4 und 2, die als Dateieigentümer den Verzeichniseigentümer bzw. die Verzeichnisgruppe für Dateien eintragen, so dass z. B. Benutzer unterschiedlicher primärer Gruppenzugehörigkeit sich leicht die Dateien in einem Verzeichnis teilen können.

#Berechtigung
4SUID (Setze User des Verzeichnisses für Dateien)
2SGID (Setze Gruppe des Verzeichnisses für Dateien)
1Nur Eigentümer (und Superuser) darf Dateien löschen und umbenennen
0Keine

Insbesondere für ausführbare Dateien stellen dasSUID/SGID-Bit ein Sicherheitsrisiko dar, da es den Kontext des Datei-Eigentümers bzw. der Gruppe statt den des Ausführenden setzt. Die ursprüngliche Bedeutung desSticky-Bits, ausführbare Dateien im Arbeitsspeicher zu halten, um einen Performanzgewinn zu erzeugen, ist kaum noch von Bedeutung.

Beispiele

[Bearbeiten |Quelltext bearbeiten]
Beispiel 1 $ chmod u=rw MyFileBeispiel 2 $ chmod g-rx MyFileBeispiel 3 $ chmod o+r MyFileBeispiel 4 $ chmod 0700 Beispiel.txtBeispiel 5 $ chmod g+w,o-x MyFile


Erklärung:

  1. setzt die Rechte der Datei „MyFile“ des Besitzers (der Datei) auf Lesen (r) und Schreiben (w), löscht ggf. dabei das Ausführrecht, weil nicht gesetzt. Diese Rechte sind zum Beispiel sinnvoll, wenn ein Benutzer ein Dokument in einem Computer- oder Gruppenweit sichtbaren Verzeichnis schützen möchte. Für ein Verzeichnis oder ausführbares Programm des Benutzers sind diese Rechteeinstellungen nicht sinnvoll, da er es anschließend nicht mehr auflisten kann (das Ausführungsrecht fehlt).
  2. entzieht der (besitzenden) Gruppe das Recht auf Lesen (r) und Ausführen (x), berührt aber nicht das Schreibrecht. Es bleibt je nach vorhergehendem Zustand für die Gruppe möglicherweise das Recht auf Schreiben (w), sodass die Datei als "Inbox" verwendet werden könnte. Ein Schreiben mit einem interaktiven Editor wird nicht möglich sein, aber durch Gruppenmitglieder mit einem Kommando wie echo Inhalt > MyFile.
  3. fügt für alle Anderen das Recht auf Lesen (r) hinzu (falls noch nicht vorhanden).
  4. Bei dem numerischen Verfahren werden allen bis auf den Eigentümer der Datei alle Rechte entzogen, der Eigentümer kann die Datei jedoch lesen (4), beschreiben (2) und ausführen (1).
  5. Fügt der besitzenden Gruppe das Recht auf Schreiben (w) hinzu und entzieht allen anderen, die nicht die Datei als Eigentümer oder Gruppe besitzen, das Recht auf Ausführen.

Grafische Alternativen

[Bearbeiten |Quelltext bearbeiten]
Grafisches „chmod“ in Konqueror

In vielen grafischenDateimanagern undFTP-Clients, zum BeispielKonqueror/KDE,Nautilus/GNOME, lassen sich die Dateirechte grafisch bearbeiten.

Siehe auch

[Bearbeiten |Quelltext bearbeiten]

Weblinks

[Bearbeiten |Quelltext bearbeiten]
Unix-Befehle derGNU Core Utilities
Dateien

chgrp |chown |chmod |cp |dd |df |dir |dircolors |install |ln |ls |mkdir |mkfifo |mknod |mv |rm |rmdir |shred |sync |touch |vdir

Text

awk |cat |cksum |comm |csplit |cut |expand |fmt |fold |head |join |md5sum |nl |od |paste |ptx |pr |sha1sum |sed |sort |split |sum |tac |tail |tr |tsort |unexpand |uniq |wc

Shell

basename |chroot |date |dirname |du |echo |env |expr |factor |false |groups |hostid |id |link |logname |nice |nohup |pathchk |pinky |printenv |printf |pwd |readlink |seq |sleep |stat |stty |tee |test |true |tty |uname |unlink |users |who |whoami |yes

Abgerufen von „https://de.wikipedia.org/w/index.php?title=Chmod&oldid=242821885
Kategorien:

[8]ページ先頭

©2009-2026 Movatter.jp