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 .
Dieser Befehl wurde erstmals in AT & T UNIX Version 1 angezeigt .
Ein Benutzer hat das Recht, eine Datei zu ändern :
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
chmodverfügt über eine Reihe von Optionen, mit denen das Ergebnis geändert werden kann. Einige dieser Optionen sind:
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 |
Es gibt drei spezielle Modi, die üblicherweise verwendet werden: das Sticky-Bit (mit t bezeichnet) und die SETUID- und SETGID- Bits (mit s bezeichnet).
chmod existiert in der C - Standard - Bibliothek . Es hat die gleiche Funktion wie der Unix-Befehl.
int chmod(const char *path, int amode) ;Oder :
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.
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;chmod existiert in der Standard- PHP- Bibliothek . Es hat die gleiche Funktion wie der Unix-Befehl und die gleichen Parameter wie die C-Funktion.
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 .