chmod

Chmod

Beschreibung des Chmod-GNU.png-Bildes. Information
Erste Version 3. November 1971
Art UNIX-Dienstprogramm ( d )

chmod (kurz für ch ange mod e ) ist ein Systemaufruf von UNIX ( Standard POSIX ) und der entsprechende Befehl zum Ändern der Berechtigungen einer Datei oder eines Verzeichnisses .

Geschichte

Dieser Befehl wurde erstmals in AT & T UNIX Version 1 angezeigt .

Erlaubnis zur Änderung von Rechten

Ein Benutzer hat das Recht, eine Datei zu ändern :

benutzen

Die an den Befehl chmod übergebenen Optionen werden wie folgt angezeigt:

chmod options modes fichiers

Für eine Datei: chmod [u g o a] [+ - =] [r w x] nom_du_fichier

Für den Inhalt eines Verzeichnisses (rekursiv): chmod -R [u g o a] [+ - =] [r w x] nom_du_répertoire

Optionen

chmodverfügt über eine Reihe von Optionen, mit denen das Ergebnis geändert werden kann. Einige dieser Optionen sind:

Modi

Für jede gegebene Datei gelten die Berechtigungen für den Eigentümer der Datei (Code 'u' wie Benutzer ), für die Benutzergruppe der Datei ('g' wie Gruppe ) oder für andere Benutzer ('o' wie andere ). Um die Änderungen auf alle gleichzeitig anzuwenden, verwenden wir den Code 'a' wie alle  :

Modi können auf zwei Arten angegeben werden, mit Buchstaben oder mit Oktalzahlen . Für Briefe gibt es die Statusänderungsoperatoren +und -das Hinzufügen oder Entfernen einer Art von Recht zu aktuellen Rechten sowie den Operator =, um diese zu überschreiben. Für das Oktal müssen Sie die Zahlen für jeden Eigentümertyp hinzufügen.

Die Berechtigungen sind (Oktalwerte in Klammern):

Korrespondenz zur Vertretung von Rechten
Recht Alphanumerischer Wert Oktalwert Binärwert
kein Recht --- 0 000
Nur Ausführung --x 1 001
nur schreiben -w- 2 010
Schreiben und Aufführen -wx 3 011
schreibgeschützt r-- 4 100
lesen und ausführen r-x 5 101
lesen und Schreiben rw- 6 110
alle Rechte (lesen, schreiben und ausführen) rwx 7 111

Beispiele

Spezielle Modi

Es gibt drei spezielle Modi, die üblicherweise verwendet werden: das Sticky-Bit (mit t bezeichnet) und die SETUID- und SETGID- Bits (mit s bezeichnet).

Andere chmod

Funktion C.

chmod

chmod existiert in der C - Standard - Bibliothek . Es hat die gleiche Funktion wie der Unix-Befehl.

int chmod(const char *path, int amode) ;

Oder :

  • path ist der Name der zu ändernden Datei.
  • amode ist das neue Attribut, das in die Datei eingefügt werden soll.
  • chmod gibt den Wert 0 (erfolgreiche Operation) oder -1 (Fehler) zurück.
fchmod int fchmod(int descripteur du fichier, mode_t mode)

Der Unterschied zwischen chmod und fchmod besteht darin, dass chmod den Pfad zur Datei als Argument verwendet (für Menschen lesbar, Beispiel: /tmp/toto.txt ), während fchmod den Dateideskriptor als Argument verwendet.

Perl-Funktion

chmod ist in den Perl- Bibliotheken vorhanden , um die Berechtigungen einer Dateiliste zu ändern. Der zweite Parameter muss der Oktalwert sein. Die Funktion gibt die Anzahl der erfolgreich zugewiesenen Dateien zurück.

$cnt = chmod 0644, 'fichier1', 'fichier2'; $cnt = chmod 0644, @liste;

PHP-Funktion

chmod existiert in der Standard- PHP- Bibliothek . Es hat die gleiche Funktion wie der Unix-Befehl und die gleichen Parameter wie die C-Funktion.

Microsoft Cacls und Attrib

Unter MS-DOS und Windowsattrib können Sie mit dem Dienstprogramm bestimmte Attribute (Lesen, Schreiben, Verstecken, System) von Dateien ändern, die nicht mit dem Eigentümer verknüpft sind.

Unter Windows NT , caclsist die vollständigere Befehlszeile Dienstprogramm entspricht chmodund chown .

Anmerkungen und Referenzen

  1. (in) "  POSIX-Schnittstellenbibliothek: liboskit_posix.a  " .

Siehe auch

Externe Links