Chmod

Der Befehl (abgekürzt von der Änderungsweise) ist ein Befehl von Unix, der einen Benutzer das System erzählen lässt, wie viel (oder wenig) Zugang es zu einer Datei erlauben sollte. Es ändert die Dateisystemweisen von Dateien und Verzeichnissen. Die Weisen schließen Erlaubnis und spezielle Weisen ein. Es ist auch eine Funktion der c Sprache in Umgebungen von Unix und Unix-like.

Geschichte

Ein Befehl ist zuerst in AT&T Unix Version 1 erschienen, und wird noch heute auf Unix ähnlichen Maschinen verwendet.

Gebrauch

Die Befehl-Optionen werden wie das angegeben:

$ chmod [Optionen] Weise [Weise] file1 [file2...]

</Quelle>

Das wird verwendet, um die Dateiweise zu kontrollieren.

Die aktuelle Dateiweise anzusehen:

$ ls-l Datei

</Quelle>

oder verwenden Sie den Stat-Befehl, die numerischen Oktalwerte anzusehen (" *" verzeichnet alle Dateien im aktuellen Verzeichnis)

$ stat-c '%A %a %n' *

</Quelle>

Oktalzahlen

Der Befehl akzeptiert, dass bis zu vier Ziffern eine Oktalzahl vertreten. Die Oktette beziehen sich auf Bit, die auf den Dateieigentümer, die Gruppe und die anderen Benutzer beziehungsweise angewandt sind. Der Gebrauch von drei Ziffern wird entmutigt, weil er das vierte als der Verzug verlässt und dieser Wert nicht befestigt wird. Kleinste positive Ziffer geht eine zusätzliche Weise für jeden dieser drei Sätze von Bit unter/neu fasst. Erfahrene Benutzer von Unix und Linux neigen dazu zu empfehlen, dass der Benutzer dieses Befehls die Mann-Seite (Mann chmod) auf dem System von Interesse überprüft.

Besondere Sorge sollte genommen werden, wenn ein Verzeichnis das Ziel ist, weil die Wirkung nicht intuitiv ist. Außerdem wird es an allen Dateitypen nicht arbeiten. Zum Beispiel hat es keine Wirkung auf eine symbolische Verbindung.

:

$ chmod 664 myfile

$ ls-l myfile

- rw-rw-r - 1 57 am 3. Juli 10:13 myfile

</Quelle>

Seit, und Bit werden nicht gesetzt, das ist gleichwertig zu:

$ chmod 0664 myfile

</Quelle>

Numerische Erlaubnis

Die jeweilige Erlaubnis wird durch das Verwenden von Mächten zwei gefunden. Gelesener Zugang ist die Nummer 4, schreiben Sie ist 2, und führen Sie durch ist 1. Diese Zahlen können zusammen hinzugefügt werden, um die richtige Erlaubnis für diese Klasse zu bekommen.

Symbolische Weisen

auch akzeptiert feinere-grained symbolische Notation, die ganze Erlaubnis und spezielle Weisen werden durch seinen Weise-Parameter vertreten. Eine Weise, die Weise von Dateien oder Verzeichnissen anzupassen, soll eine symbolische Weise angeben. Die symbolische Weise wird aus drei Bestandteilen zusammengesetzt, die verbunden werden, um eine einzelne Schnur des Textes zu bilden:

$ chmod [Verweisungen] [Maschinenbediener] [Weisen] file1...

</Quelle>

Die Verweisungen (oder Klassen) werden verwendet, um die Benutzer zu unterscheiden, für die die Erlaubnis gilt. Wenn keine Verweisungen es angegeben werden, modifiziert Verzug dazu "fast" nur die durch den umask erlaubte Erlaubnis. Die Verweisungen werden durch ein oder mehr von den folgenden Briefen vertreten:

Das Programm verwendet einen Maschinenbediener, um anzugeben, wie die Weisen einer Datei angepasst werden sollten. Die folgenden Maschinenbediener werden akzeptiert:

Die Weisen zeigen an, welche Erlaubnis gewährt oder von den angegebenen Klassen weggenommen werden soll. Es gibt drei grundlegende Weisen, die der grundlegenden Erlaubnis entsprechen:

Die Kombination dieser drei Bestandteile erzeugt eine Schnur, die durch den Befehl verstanden wird. Vielfache Änderungen können durch das Trennen vielfacher symbolischer Weisen mit Kommas angegeben werden.

Symbolische Beispiele

Fügen Sie das gelesene hinzu und schreiben Sie Erlaubnis dem Benutzer und den Gruppenklassen eines Verzeichnisses:

$ chmod ug+rw mydir

$ ls-ld mydir

drw-rw----2 unixguy uguys 96 am 8. Dez 12:53 mydir

</Quelle>

Für eine Datei, ziehen Sie um schreiben Erlaubnis für alle Klassen:

$ chmod a-w myfile

$ ls-l myfile

- r xr xr x 2 unixguy uguys 96 am 8. Dez 12:53 myfile

</Quelle>

Setzen Sie die Erlaubnis für den Benutzer, und die Gruppe, um zu lesen und durchzuführen, nur (schreiben nicht Erlaubnis) darauf.

$ chmod ug=rx mydir

$ ls-ld mydir

dr-xr-x---2 unixguy uguys 96 am 8. Dez 12:53 mydir

</Quelle>

Spezielle Weisen

Der Befehl ist auch dazu fähig, die zusätzliche Erlaubnis oder speziellen Weisen einer Datei oder Verzeichnisses zu ändern. Der symbolische Weise-Gebrauch, um den setuid und die setgid Weisen zu vertreten, und die klebrige Weise zu vertreten. Die Weisen werden nur auf die passenden Klassen, unabhängig davon angewandt, ob andere Klassen angegeben werden.

Am meisten Betriebssysteme unterstützen die Spezifizierung von speziellen Weisen mit Oktalweisen, aber einige tun nicht. Auf diesen Systemen können nur die symbolischen Weisen verwendet werden.

Befehl-Linienbeispiele

Funktionsdetails

Die C Programmiersprache definiert den folgenden Funktionsprototyp:

interne Nummer chmod (const Rotforelle *path, mode_t Weise);

Die Funktion nimmt einen Parameter des Typs, der ein aus verschiedenen Fahnen zusammengesetzter bitfield ist:

Wo abwechselnde Fahne-Namen gegeben werden, könnte eines des Paares von Namen nicht auf einem OSs unterstützt werden. Die Oktalwerte der Fahnen werden summiert oder in einem bitwise oder Operation verbunden, um die gewünschte Erlaubnis-Weise zu geben.

Verschiedene Fehlercodes können zurückgegeben werden, und über diese wird in der verbundenen Mann-Seite für die Funktion ausführlich berichtet.

Siehe auch

  • Dateisystemerlaubnis
  • , der Befehl hat gepflegt, den Eigentümer einer Datei oder Verzeichnisses auf Unix ähnlichen Systemen zu ändern
  • , der Befehl hat gepflegt, die Gruppe einer Datei oder Verzeichnisses auf Unix ähnlichen Systemen zu ändern
  • , ein Befehl, der auf Windows NT und seinen Ableitungen verwendet ist, um die Zugriffsberechtigungslisten zu modifizieren, hat mit einer Datei oder Verzeichnis verkehrt
  • Benutzerpersonalausweis
  • Gruppenpersonalausweis
  • Liste von Programmen von Unix

Außenverbindungen


John Frederick, Margrave des Brandenburgs-Ansbach / Karte von Conformal
Impressum & Datenschutz