Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:systeme:chmod [26/10/2013 13:08] MicP [TP 1] |
doc:systeme:chmod [24/01/2014 20:02] MicP [Intro] reformulation |
||
---|---|---|---|
Ligne 16: | Ligne 16: | ||
===== Intro ===== | ===== Intro ===== | ||
- | La commande chmod permet de modifier les permissions des fichiers. \\ | + | La commande ''chmod'' permet de modifier les permissions aux différents types d'accès (rwx) des fichiers (et répertoire) indépendamment pour le propriétaire, le groupe ou les autres utilisateurs. \\ |
Je vais vous expliquer deux manières de les modifier, chacun sa méthode, moi j'ai commencé par la première méthode, puis maintenant je le fais avec les deux sans problème. | Je vais vous expliquer deux manières de les modifier, chacun sa méthode, moi j'ai commencé par la première méthode, puis maintenant je le fais avec les deux sans problème. | ||
Ligne 28: | Ligne 28: | ||
Dans cette méthode je vais vous montrer comment modifier par les lettres U G O et R W X pour un rappel aller voir le wiki **[[:doc:systeme:droits-unix|A savoir]]** . \\ | Dans cette méthode je vais vous montrer comment modifier par les lettres U G O et R W X pour un rappel aller voir le wiki **[[:doc:systeme:droits-unix|A savoir]]** . \\ | ||
- | Bon passons aux choses sérieuses, je veux rendre un fichier exécutable, pour cela je vérifie les droits grâce a la commande ls -l((voir : [[:doc:systeme:ls| commande de listage ls]])) sur le fichier php dans mon répertoire. | + | Bon passons aux choses sérieuses, je veux rendre un fichier exécutable, pour cela je vérifie les droits grâce a la commande **[[:doc:systeme:ls | ls -l]]** sur le fichier php dans mon répertoire. |
<code user>ls -l php</code> | <code user>ls -l php</code> | ||
Ligne 39: | Ligne 39: | ||
<code bash>-rwxr--r-- 1 mattux users 92 avr 20 23:26 php</code> | <code bash>-rwxr--r-- 1 mattux users 92 avr 20 23:26 php</code> | ||
- | Voila je l'ai rendu exécutable juste pour l'user, maintenant vous pouvez le passer en droit d'écriture pour tous: | + | Voila je l'ai rendu exécutable juste pour l'user, maintenant vous pouvez permettre au groupe et aux autres d'avoir le droit d'écriture : |
<code user>chmod go+w php</code> | <code user>chmod go+w php</code> | ||
Ligne 45: | Ligne 45: | ||
<code bash>-rwxrw-rw- 1 mattux users 92 avr 20 23:26 php</code> | <code bash>-rwxrw-rw- 1 mattux users 92 avr 20 23:26 php</code> | ||
- | Voilà je n'ai pas mis U pour l'user car il a déjà le droit d'écriture. | + | Voilà je n'ai pas mis U pour l'user car il avait déjà le droit d'écriture. |
Dernier test pour cette méthode : \\ | Dernier test pour cette méthode : \\ | ||
Ligne 99: | Ligne 99: | ||
Soit : | Soit : | ||
- | * 000 = 0 = - - - | + | * 000 = 0 = -%%-%%- |
- | * 001 = 1 = - - x (exécution) | + | * 001 = 1 = -%%-%%x (exécution) |
- | * 010 = 2 = - w - (écriture) | + | * 010 = 2 = -w- (écriture) |
- | * 011 = 3 = - w x | + | * 011 = 3 = -wx |
- | * 100 = 4 = r - - (lecture) | + | * 100 = 4 = r-%%-%%(lecture) |
- | * 101 = 5 = r - x | + | * 101 = 5 = r-x |
- | * 110 = 6 = r w - | + | * 110 = 6 = rw- |
- | * 111 = 7 = r w x | + | * 111 = 7 = rwx |
Il suffit donc de déclarer un chiffre et un seul entre 0 et 7 correspondant à toute la séquence en notation (r w x) et de l'attribuer à chacune des catégories d'utilisateur user, group, others (u, g, o). | Il suffit donc de déclarer un chiffre et un seul entre 0 et 7 correspondant à toute la séquence en notation (r w x) et de l'attribuer à chacune des catégories d'utilisateur user, group, others (u, g, o). | ||
Exemples : | Exemples : | ||
- | * 777 = r w x r w x r w x = u g o peuvent tous lire + écrire + exécuter. | + | * 777 = rwxrwxrwx = u g o peuvent tous lire + écrire + exécuter. |
- | * 605 = r w - - - - r - x = u peut lire + écrire g rien faire et o lire + exécuter. | + | * 605 = rw-%%--%%-r-x = u peut lire + écrire g rien faire et o lire + exécuter. |
- | * 644 = r w - r - - r - - = u peut lire + écrire g lire et o lire. | + | * 644 = rw-r-%%-%%r-%%-%%= u peut lire + écrire g lire et o lire. |
- | * 666 = r w - r w - r w - = u g o peuvent tous lire + écrire. Aucun ne peut exécuter. | + | * 666 = rw-rw-rw- = u g o peuvent tous lire + écrire. Aucun ne peut exécuter. |
Une astuce permet d'associer rapidement une valeur décimale à la séquence de droits souhaitée. Il suffit d'attribuer les valeurs suivantes pour chaque type de droit. | Une astuce permet d'associer rapidement une valeur décimale à la séquence de droits souhaitée. Il suffit d'attribuer les valeurs suivantes pour chaque type de droit. | ||
Ligne 128: | Ligne 128: | ||
* rwx = 7 (4+2+1), | * rwx = 7 (4+2+1), | ||
* r-x = 5 (4+1) et | * r-x = 5 (4+1) et | ||
- | * r-- = 4. | + | * r-%%-%% = 4. |
Donne en séquences de droits complètes : | Donne en séquences de droits complètes : | ||
- | * (rwxr-xr--) = 754. | + | * (rwxr-xr-%%-%%) = 754. |
C'est une manière directe (et moins verbeuse, ATTENTION aux erreurs !) d'attribuer les droits et de les écrire sous cette forme en utilisant le code à 3 chiffres résultant. | C'est une manière directe (et moins verbeuse, ATTENTION aux erreurs !) d'attribuer les droits et de les écrire sous cette forme en utilisant le code à 3 chiffres résultant. | ||
Exemple pour un fichier : | Exemple pour un fichier : | ||
- | <code user>chmod 754 /chemin/du/fichier/test.txt</code> | + | <code bash>chmod 754 /chemin/du/fichier/test.txt</code> |
''/chemin/du/fichier/test.txt'' étant un fichier imaginaire destiné à illustrer l'exemple... :-) | ''/chemin/du/fichier/test.txt'' étant un fichier imaginaire destiné à illustrer l'exemple... :-) | ||
Exemple pour un répertoire : | Exemple pour un répertoire : | ||
- | <code user>chmod 754 /chemin/du/repertoire/test</code> | + | <code bash>chmod 754 /chemin/du/repertoire/test</code> |
où nous pouvons ajouter -R pour rendre les autorisations récursives à l'intérieur de ce répertoire, soit : | où nous pouvons ajouter -R pour rendre les autorisations récursives à l'intérieur de ce répertoire, soit : | ||
- | <code user>chmod -R 754 /chemin/du/repertoire/test</code> | + | <code bash>chmod -R 754 /chemin/du/repertoire/test</code> |
Il est d'usage précautionneux de SYSTEMATIQUEMENT vérifier par | Il est d'usage précautionneux de SYSTEMATIQUEMENT vérifier par | ||
- | <code user>ls -al /chemin/du/repertoire/</code> | + | <code bash>ls -al /chemin/du/repertoire/</code> |
- | que nous avons bien obtenu ce que nous voulions modifier, répertoire par répertoire... C'est beaucoup, beaucoup de temps d'gagné ! LOL | + | que nous avons bien obtenu ce que nous voulions modifier... C'est beaucoup, beaucoup de temps d'gagné ! LOL |
===== Droits spéciaux - SUID ===== | ===== Droits spéciaux - SUID ===== |