Chmod (Unix)

Chmod (Unix)

chmod

Capture d'écran de la page de manuel en anglais de la commande chmod

chmod (abréviation de change mode) est une commande Unix exécutable dans un environnement de type Unix qui permet de changer les permissions d'accès (spéciales ou non) sur un fichier.

Sommaire

Histoire

Cette commande est apparue pour la première fois dans AT&T UNIX version 1.

Permission de changer les droits

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

  • s'il est root
  • s'il est le propriétaire

Utilisation

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

chmod options modes fichiers

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

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

Options

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-root: ne traite pas / (la racine du système de fichier) spécialement (option par défaut).
  • --preserve-root: échec du traitement récursif (-R) sur / (la racine du système de fichier).
  • -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

Pour chaque fichier donné, les permissions s'appliquent au propriétaire du fichier (u), aux utilisateurs dans le groupe du fichier (g) ou à tous les autres utilisateurs (o). Pour appliquer les modifications à tous en une seule fois, on utilise la commande (a) pour all.

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

Les modes peuvent être spécifiés de deux façons, avec des lettres ou avec des nombres en octal. Pour les lettres, il existe les opérateurs de changement d'état + et - pour ajouter ou retirer un type de droit aux droits courant, 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. Il faut noter, que 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 un chdir (commande cd) sur ce répertoire).
Correspondances de représentation des droits
Droit Valeur alphanumérique Valeur octale
aucun droit --- 0
exécution seulement --x 1
écriture seulement -w- 2
ecriture et exécution -wx 3
lecture seulement r-- 4
lecture et exécution r-x 5
lecture et écriture rw- 6
tous les droits (lecture, écriture et exécution) rwx 7

Exemples

  • chmod u+rw mon_fichier donne au propriétaire les droits en écriture et en lecture au fichier mon_fichier.
  • chmod -R a+rx mon_dossier donne à tous les utilisateurs les droits en lecture et en exécution à tout ce que contient le dossier mon_dossier. À noter, le "a" est facultatif : chmod -R +rx mon_dossier fonctionne tout aussi bien.
  • chmod 755 mon_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 644 mon_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

Il existe trois modes spéciaux couramment utilisés : le sticky bit (noté t) et les SETUID et SETGID bits (notés s).

Autres chmod

Fonction C

chmod

chmod existe dans la bibliothèque standard C. 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.
  • En retour on a la valeur 0 (opération réussie) ou -1 (erreur).

fchmod

int fchmod(int descripteur du fichier, mode_t mode)

La différence entre chmod et fchmod, c'est que chmod prend le chemin du fichier comme argument (ce qui est lisible par un être humain, exemple : /tmp/toto.txt), alors que fchmod prend le descripteur de fichier comme argument.

Fonction Perl

chmod existe dans les librairies Perl pour changer les permissions d'une liste de fichiers. Le deuxième paramètre doit être la valeur OCTAL. La fonction retourne le nombre de fichiers il y a eu succès.

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

Fonction PHP

chmod existe dans la bibliothèque standard PHP. Elle a la même fonction que la commande Unix et les mêmes paramètres que la fonction C.

cacls et attrib de Microsoft

Sous MS-DOS et Windows, l'utilitaire attrib permet de changer certains attributs (lecture, écriture, caché, système) des fichiers, non liés au propriétaire.

Sous Windows NT, cacls est l'utilitaire plus complet en ligne de commande équivalent à chmod et chown.

Voir aussi

Liens externes

Crystal Clear app kservices.png Contrôle d'accès en sécurité informatique
Types de contrôle d'accès

Modèles de contrôle d'accès

  • Portail de la sécurité informatique Portail de la sécurité informatique
Ce document provient de « Chmod ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Chmod (Unix) de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать курсовую

Regardez d'autres dictionnaires:

  • CHMOD — (von englisch: change mode) ist ein Kommandozeilenprogramm unter Unix, mit dem sich die klassischen Unix Dateiattribute (Zugriffsrechte) verändern lassen. Das chmod Kommando gibt es bereits seit der ersten Version des AT T Unix (Ende der 1970er… …   Deutsch Wikipedia

  • Chmod — (von englisch: change mode) ist ein Kommandozeilenprogramm unter Unix, mit dem sich die klassischen Unix Dateiattribute (Zugriffsrechte) verändern lassen. Das chmod Kommando gibt es bereits seit der ersten Version des AT T Unix (Ende der 1970er… …   Deutsch Wikipedia

  • Chmod — Capture d écran de la page de manuel en anglais de la commande chmod chmod (abréviation de change mode) est une commande Unix exécutable dans un environnement de type Unix qui permet de changer les permissions d accès (spéciales ou non) sur un… …   Wikipédia en Français

  • chmod — (abréviation de change mode) est un appel système d Unix ainsi que la commande correspondante qui permet de changer les permissions d accès d un fichier ou d un répertoire. Sommaire 1 Histoire 1.1 Permission de changer les droits …   Wikipédia en Français

  • Chmod — Тип программа для изменения прав доступа к файлам и директориям Разработчик Проект GNU Написана на C Операционная система Unix подобные Последняя версия 8.5 (23 апреля 2010) …   Википедия

  • chmod — Тип программа для изменения прав доступа к файлам и директориям Разработчик Проект GNU Написана на C Операционная система Unix подобные Последняя версия 8.5 (23 апреля 2010) Лицензия …   Википедия

  • Chmod — Saltar a navegación, búsqueda chmod ( change mode , cambiar modo en idioma inglés) es una llamada al sistema y su comando asociado en el sistema operativo UNIX (estandarizados en POSIX y otros estándares) que permite cambiar los permisos de… …   Wikipedia Español

  • chmod — ( change mode , cambiar modo en idioma inglés) es una llamada al sistema y su comando asociado en el sistema operativo UNIX (estandarizados en POSIX y otros estándares) que permite cambiar los permisos de acceso de un archivo o directorio.… …   Wikipedia Español

  • Unix — (registrado oficialmente como UNIX®) es un sistema operativo portable, multitarea y multiusuario; desarrollado, en principio, en 1969 por un grupo de empleados de los laboratorios Bell de AT T, entre los que figuran Ken Thompson, Dennis Ritchie y …   Wikipedia Español

  • UNIX-Kommandos — Unix Systeme zeichnen sich durch eine Vielzahl von Kommandos aus, mit denen sich über eine Shell das Betriebssystem bedienen lässt. Die Syntax dieser Kommandos weicht unter den verschiedenen Systemen voneinander ab. Es existieren die beiden… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”