Movatterモバイル変換


[0]ホーム

URL:


Aller au contenu
Wikipédial'encyclopédie libre
Rechercher

chmod

Un article de Wikipédia, l'encyclopédie libre.

Chmod

Description de l'image Chmod-GNU.png.
Informations
Première versionVoir et modifier les données sur Wikidata
TypeUtilitaire UNIX(d)Voir et modifier les données sur Wikidata

modifier -modifier le code -voir Wikidata(aide)

En informatique, sousUnix ou lessystèmes d'exploitation detype Unix (également appelés « *nix »),chmod (abréviation dechangemode) est unappel système (de la normePOSIX[1]) ainsi que la commande correspondante qui permet de changer lesdroits d'accès d'unfichier ou d'unrépertoire.

Histoire

[modifier |modifier le code]

Cette commande est apparue pour la première fois dansAT&TUNIX version 1[2].

Permission de changer les droits

[modifier |modifier le code]

Un utilisateur a le droit de faire unchmod sur un fichier :

  • s'il estroot ;
  • ou s'il est le propriétaire du fichier en question.

Utilisation

[modifier |modifier le code]

Les options passées à la commande chmod sont indiquées comme ceci :

chmodoptionsmodesfichiers

Pour un fichier :chmod[u g o a][+ - =] [r w x]nom_du_fichier

Pour le contenu d'un répertoire (de façon récursive) :chmod -R[u g o a][+ - =] [r w x]nom_du_répertoire

Options

[modifier |modifier le code]

chmod a un certain nombre d'options qui peuvent modifier le résultat. Certaines de ces options sont :

  • -c, --changes : comme verbeux (-v) mais n'affiche que les changements effectués.
  • --no-preserve-roo : ne traite pas / (la racine du système de fichiers) spécialement (option par défaut).
  • --preserve-root : échec du traitement récursif (-R) sur / (la racine du système de fichiers).
  • -f, --silent, --quiet : supprime la plupart des messages d'erreur.
  • -v, --verbose : mode verbeux. Affiche la liste de tous les fichiers en cours de modification.
  • -R, --recursive : change les modes de tous les fichiers dans les sous-répertoires de manière récursive.
  • --help : affiche l'aide de la commande chmod.
  • --version : affiche les informations sur la version de chmod.

Modes

[modifier |modifier le code]

Pour chaque fichier donné, les permissions s'appliquent au propriétaire du fichier (code ’u’ commeuser), au groupe d’utilisateurs du fichier (’g’ commegroup) ou aux autres utilisateurs (’o’ commeothers). Pour appliquer les modifications à tous en une seule fois, on utilise le code ’a’ commeall :

  • u propriétaire (user)
  • g groupe (group)
  • o les autres (others)
  • a tous (all)

Les modes peuvent être spécifiés de deux façons, avec des lettres ou avec des nombres enoctal. Pour les lettres, il existe les opérateurs de changement d'état+ et- pour ajouter ou retirer un type de droit aux droits courants, et l'opérateur= pour les écraser. Pour l'octal, il faut additionner les nombres pour chaque type de possesseur.

Les permissions sont (valeurs octales entre parenthèses) :

  • r (4) : autorisation de lecture
  • w (2) : autorisation d'écriture
  • x (1) : autorisation d'exécution. La permission d'exécution régit également l'accès à un répertoire : si l'exécution n'est pas autorisée sur un répertoire, on ne peut faire unchdir (commande cd) sur ce répertoire.
Correspondances de représentation des droits
DroitValeur alphanumériqueValeur octaleValeur binaire
aucun droit---0000
exécution seulement--x1001
écriture seulement-w-2010
écriture et exécution-wx3011
lecture seulementr--4100
lecture et exécutionr-x5101
lecture et écriturerw-6110
tous les droits (lecture, écriture et exécution)rwx7111

Exemples

[modifier |modifier le code]
  • chmod u+rwmon_fichier donne au propriétaire les droits en écriture et en lecture au fichiermon_fichier.
  • chmod -R a+rxmon_dossier donne à tous les utilisateurs les droits en lecture et en exécution à tout ce que contient le dossiermon_dossier. Le "a" est facultatif :chmod -R +rxmon_dossier fonctionne tout aussi bien.
  • chmod 755mon_dossier donne au propriétaire tous les droits, aux membres du groupe et aux autres les droits de lecture et d'accès. C'est un droit utilisé traditionnellement sur les répertoires.
  • chmod 644mon_fichier donne au propriétaire les droits de modification et lecture, aux membres du groupe et aux autres uniquement les droits de lecture. C'est un droit utilisé traditionnellement sur les fichiers.

Modes spéciaux

[modifier |modifier le code]

Il existe trois modes spéciaux couramment utilisés : lesticky bit (noté t) et lesSETUID etSETGID bits (notés s).

Autres chmod

[modifier |modifier le code]

Fonction C

[modifier |modifier le code]

chmod

[modifier |modifier le code]

chmod[3] existe dans labibliothèque standardC. Elle a la même fonction que la commande Unix.

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

Où :

  • path est le nom du fichier à modifier.
  • amode est le nouvel attribut à mettre au fichier.
  • chmod retourne la valeur 0 (opération réussie) ou -1 (erreur).

fchmod

[modifier |modifier le code]
int fchmod(intdescripteur du fichier, mode_t mode)

La différence entrechmod etfchmod, c'est quechmod prend le chemin du fichier comme argument (ce qui est lisible par un être humain, exemple :/tmp/toto.txt), alors quefchmod prend ledescripteur de fichier comme argument[3].

Fonction Perl

[modifier |modifier le code]

chmod[4] existe dans les bibliothèquesPerl pour changer les permissions d'une liste de fichiers. Le deuxième paramètre doit être la valeur octale. La fonction retourne le nombre de fichiers affectés avec succès.

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

Fonction PHP

[modifier |modifier le code]

chmod[5] existe dans labibliothèque standardPHP. Elle a la même fonction que la commande Unix et les mêmes paramètres que la fonction C.

cacls et attrib deMicrosoft

[modifier |modifier le code]

SousMS-DOS etWindows, l'utilitaireattrib[6] permet de changer certains attributs (lecture, écriture, caché, système) des fichiers, non liés au propriétaire.

SousWindows NT,cacls[7] est l'utilitaire plus complet enligne de commande équivalent àchmod etchown.

Notes et références

[modifier |modifier le code]
  1. (en) « POSIX Interface Library: liboskit_posix.a ».
  2. « Qu’est-ce que chmod ? », surionos.fr,(consulté le).
  3. a etb(en) « chmod(2) »Accès libre, surman7.org,(consulté le)
  4. (en) « chmod »Accès libre, surPerldoc Browser(consulté le)
  5. « chmod »Accès libre, surphp.net(consulté le)
  6. « attrib »Accès libre, surMicrosoft Learn,(consulté le)
  7. « cacls »Accès libre, surMicrosoft Learn,(consulté le)

Voir aussi

[modifier |modifier le code]

Liens externes

[modifier |modifier le code]
v ·m
Types de contrôle d'accès
Modèles de contrôle d'accès
v ·m
Aide
Environnementutilisateur
Gestion deprocessus
Manipulation detexte
Programmationshell
Recherche
Réseau
Système de fichiers
Divers
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=Chmod&oldid=232089867 ».
Catégories :
Catégories cachées :

[8]ページ先頭

©2009-2026 Movatter.jp