logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 [25/12/2012 07:35]
smolski
doc:systeme:chmod [22/09/2013 23:31]
127.0.0.1 modification externe
Ligne 1: Ligne 1:
-====== ​La commande ​chmod ======+====== chmod ======
  
 La commande chmod permet de modifier les permissions des fichiers. 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. La commande chmod permet de modifier les permissions des fichiers. 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.
 Bon pour modifier les permissions,​ on le fera en console, vous êtes un public averti maintenant ^^. Bon pour modifier les permissions,​ on le fera en console, vous êtes un public averti maintenant ^^.
  
-  * Syntaxe+===== Syntaxe ​=====
  
   chmod [option] nom_du_fichier   chmod [option] nom_du_fichier
- 
  
 ===== Méthode 1 ===== ===== Méthode 1 =====
  
- +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 **[[commande:A savoir|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 vais vérifier ​les droits grâce a  la commande ls -l (voir **[[commande:ls|LS]]** ) sur le fichier php dans mon répertoire.+
  
   * Exemple   * Exemple
Ligne 20: Ligne 18:
     -rw-r--r-- 1 mattux users 92 avr 20 23:26 php     -rw-r--r-- 1 mattux users 92 avr 20 23:26 php
  
-Pour le rendre ​executable je ferais, ​avec une petite vérification en même temps : +Pour le rendre ​exécutable ​avec une petite vérification en même temps je ferai 
  
   * Exécution   * Exécution
Ligne 28: Ligne 26:
     -rwxr--r-- 1 mattux users 92 avr 20 23:26 php     -rwxr--r-- 1 mattux users 92 avr 20 23:26 php
  
-Voila je l'ai rendu juste exécutable pour l'users, maintenant vous pouvez le passer en droit d'​écriture pour tous:+Voila je l'ai rendu juste exécutable pour l'user, maintenant vous pouvez le passer en droit d'​écriture pour tous:
  
   * Exécution   * Exécution
Ligne 37: Ligne 35:
  
 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 a déjà le droit d'​écriture.
-Bon maintenant dernier ​test pour cette méthode, on va enlever le droit d'​exécution et les droits d'​écriture pour tous, on fera :+ 
 +Dernier ​test pour cette méthode ​: \\ 
 +Pour enlever le droit d'​exécution et les droits d'​écriture pour tous, on fera :
  
   * Exécution   * Exécution
Ligne 45: Ligne 45:
     -r--r--r-- 1 mattux users 92 avr 20 23:26 php     -r--r--r-- 1 mattux users 92 avr 20 23:26 php
  
-Alors compris ! on passe à l'​autre méthode ^^ .+==== Option t ====
  
-===== Méthode 2 =====+Le droit **sticky bit** 
 + 
 +Ce droit a surtout un rôle important sur les dossiers. 
 +<note tip>Il réglemente le droit w sur le dossier, __en interdisant à un utilisateur quelconque de supprimer un fichier dont il n'est pas le propriétaire__.</​note>​ 
 +Ce droit occupe par convention la place du droit x sur la catégorie other de ce dossier, mais bien entendu il ne supprime pas le droit d'​accès x (s'il est accordé). \\ 
 +Justement, si ce droit x n'est pas accordé à la catégorie other, à la place de t c'est la lettre T qui apparaîtra. \\ 
 +Sa valeur octale associée vaut 1000. 
 + 
 +Pour positionner ce droit : 
 +<code bash> 
 +chmod g+t dossier</​code>​ 
 + 
 +Sur un dossier il signifie que les fichiers créés à l'​intérieur ont pour groupe propriétaire le groupe propriétaire du dossier parent. 
 + 
 +Si le dossier a le droit x pour tous il donnera : 
 +   d ... ... ..t  dossier 
 +sinon : 
 +   d ... ... ..T  dossier 
 + 
 + 
 +Si tu fais un u+t au lieu d'un g+t, c'est la même chose mais avec l'​utilisateur propriétaire et non plus le groupe : 
 +<code bash> 
 +chmod u+t</​code>​ 
 + 
 +//Ça, c'est envoyé par le //​**captnfab**//​ depuis le salon df. Il est pas champion le matelot, dites ?// :-D
  
 +===== TP Droits sur serveur =====
 +
 +Consultez ce post sur le forum df :
 +  * [[http://​debian-facile.org/​viewtopic.php?​id=6749 | Problème ProFTPd et répertoire Apache /var/www]]
 +
 +//Merci à //​**Nasedo**//​ et à //​**nikau**//​ pour ces explications.//​ ;-)
 +===== Méthode 2 =====
  
 Dans cette méthode on fera les modifications par des chiffres 4, 2 et 1, n'ayez pas peur c'est très simple, je vais reprendre les mêmes exemple que la Méthode 1, mais pour commencer je dois vous expliquer comment fonctionne cette méthode. Dans cette méthode on fera les modifications par des chiffres 4, 2 et 1, n'ayez pas peur c'est très simple, je vais reprendre les mêmes exemple que la Méthode 1, mais pour commencer je dois vous expliquer comment fonctionne cette méthode.
Ligne 59: Ligne 90:
         ​         ​
         * 000 = 0 = - - -         * 000 = 0 = - - -
-        * 001 = 1 = - - (exécution) +        * 001 = 1 = - - (exécution) 
-        * 010 = 2 = - w (écriture) +        * 010 = 2 = - w (écriture) 
-        * 011 = 3 = - w+        * 011 = 3 = - w x
         * 100 = 4 = r - - (lecture)         * 100 = 4 = r - - (lecture)
         * 101 = 5 = r - x         * 101 = 5 = r - x
Ligne 105: Ligne 136:
           ls -al /​chemin/​du/​repertoire/​           ls -al /​chemin/​du/​repertoire/​
 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, répertoire par répertoire... C'est beaucoup, beaucoup de temps d'​gagné ! LOL
- 
  
 ===== Droits spéciaux - SUID ===== ===== Droits spéciaux - SUID =====
  
 <note importante>​ <note importante>​
-SUID - un droit securisé ​- De bonnes bases sont requises... pas cool !+SUID - un droit sécurisé ​- De bonnes bases sont requises... pas cool !
 </​note>​ </​note>​
  
 Directement inspiré de : Directement inspiré de :
  
-url=http://​www.ac-creteil.fr/​reseaux/​systemes/​linux/​debian/​deb-tp-droits.html+[[http://​www.ac-creteil.fr/​reseaux/​systemes/​linux/​debian/​deb-tp-droits.html ​| Les TP de AC - Creteil]]
  
-Ce droit demande une connaissance préalable de **tous les droits** de bases, leur **fonctionnnement**,​ leur **manipulation**,​ ainsi que de la commande de listage **ls**.+Ce droit demande une connaissance préalable de **tous les droits** de bases, leur **fonctionnnement**,​ leur **manipulation**,​ ainsi que de la commande de listage **ls**. ​\\
 Si vous ne comprenez pas cette litanie, revoyez les commandes [[CHMOD]] [[CHOWN]] [[LS]] et concert... Si vous ne comprenez pas cette litanie, revoyez les commandes [[CHMOD]] [[CHOWN]] [[LS]] et concert...
  
Ligne 134: Ligne 164:
      ​blabla # ls -l /​usr/​bin/​passwd      ​blabla # ls -l /​usr/​bin/​passwd
      ​-rxsr-xr-x ​ root  root /​usr/​bin/​passwd      ​-rxsr-xr-x ​ root  root /​usr/​bin/​passwd
-SUID, en s'​intégrant (rx**S**) dans le fichier intermédiaire **passwd** où : +SUID, en s'​intégrant (rx**s**r) dans le fichier intermédiaire **passwd** où : 
-     (u) = root +  ​- ​root = (rw-)((lecture + écriture/​modif)) sur le fichier ​shadow 
-     root = (rw-) sur shadow +  ​- ​et (o)((propriétaire)) = (r-x) autorisant les exécutions de commande d'​utilisateurs non-root.
-     ​et (o) = (r-x) autorisant les exécutions de commande d'​utilisateurs ​lambda ​non-root...+
  
-permet à **passwd** de créer TEMPORAIREMENT la passerelle NÉCESSAIRE à la //commande initiale// issue de (o)  et utiliser le (rw-) de **passwd** sur **shadow** pour la réaliser !+permet à **passwd** de créer TEMPORAIREMENT la passerelle NÉCESSAIRE à la //commande initiale// issue de l'user lambda ​ ​et ​d'utiliser ​ainsi le droit root (rw-) de **passwd** sur **shadow** pour la réaliser !
  
-===== Droits spéciaux ===== +==== SUID - Conté...  ====
- +
-==== Option t ==== +
- +
-Le : +
-<code bash> +
-chmod g+t</​code>​ +
- +
-Sur un dossier signifie que les fichiers créés à l'​intérieur ont pour groupe propriétaire le groupe propriétaire du dossier parent. +
- +
-Si tu fais un u+t au lieu d'un g+t, c'est la même chose mais avec l'​utilisateur propriétaire : +
-<code bash> +
-chmod u+t</​code>​ +
- +
-//Ça, c'est envoyé par le //​**captnfab**//​ depuis le salon df. Il est pas champion le matelot, dites ?// :-D +
- +
-==== SUID - expliqué...  ====+
  
 //Il était une fois//... 8-o //Il était une fois//... 8-o
  
-  ​SUID permet la réalisation ​(rw) d'une commande d'​exécution (x) +SUID permet la réalisation d'une commande d'​exécution (x) à partir d'un utilisateur-lambda, //via// un fichier d'​utilisateur exclusif ​(u = root par exemple...)//vers// un fichier de réalisation finale de propriété exclusive identique __sans attribuer des droits permanents__ hors de la commande présentée !
-  ​à partir d'un utilisateur-lambda (u = non-root),+
  
-  VIA un fichier d'​utilisateur exclusif (u = root par exemple...),+En effet, le droit SUID est un droit //​TEMPORAIRE//​ de fichier. \\ 
 +Il s'agit en fait d'un **dispositif de sécurité** essentiel qui autorise un utilisateur ​à bénéficier de droits plus étendus que les siens et obtenir les droits sur un fichier ​exclusif (réservé à root en général...) par une commande exécutive (--x).
  
-  VERS un fichier de réalisation ​finale ​de propriété exclusive identique +Pour préserver la sécurité permanente du fichier de réalisation, il fonctionne juste le temps et sous le contrôle ​de la commande sollicitée. \\ 
-  (u = root selon l'​exemple...),+Ce droit est noté symboliquement par s (sa valeur octale est 4000).
  
-  SANS les droits ​permanents nécessaires : (rw) !+Dans la notation, il se met en lieu et place du **x**, celui-ci prenant dans le listage des droits ​celle du **w** au centre de la notation habituelle.
  
-  Le droit SUID est un droit TEMPORAIRE de fichier. Il s'agit d'un **dispositif de sécurité** essentiel +En fait, la notation de ce droit pour user se présente :  
-   qui autorise un utilisateur ​(u = non-rootà bénéficier de droits plus étendus ​ que les siens. +   rxs - - = (//​temporairement//​) rwx - -) 
-   pour obtenir les droits : (rw) sur un fichier exclusif (de sécurité réservé à root en général...), +ou en binaire : 
-  par une commande exécutive (x)+   47 - - = 7 - -.
  
-  En préservant la sécurité permanente du fichier de réalisation. Il fonctionne juste le temps +=== Exemple ===
-  et sous le contrôle de la commande sollicitée. Ce droit est noté symboliquement par s +
-  (sa valeur octale est 4000).+
  
-Dans la notation, il se met en lieu et place du **x**, celui-ci prenant celle du **w** au centre de la notation habituelle ​(- - -).+Sous root listez((manuel:​ls)) dans un terminal : 
 +     ​blabla # ls -l /​etc/​shadow 
 +     -rw-r----- ​ root root  shadow
  
-En fait, la notation ​de ce droit pour (**u**) seulement : **rxs** équivaut ​à **rwx**, ou **47**- - = **7**- -.+Ce qui indique toutes les limites ​de ce fichier réservé ​à rootSécurité maxi !
  
-===== Droits spéciaux ​ =====+Puis, listez : 
 +<code bash> 
 +ls -l /​usr/​bin/​passwd 
 +-rxsr-xr-x ​ root  root /​usr/​bin/​passwd</​code>​
  
-==== SUID - L'​Exemple... ====+Ici, le droit sur le fichier passwd est accordé à tous les exécutants lambda (valeur x pour tous)\\
  
-__De nouveauobservez__ :+Le fichier **passwd** propriété de //root//a bien sûr accès de réalisation (rw) dans le fichier **shadow**, qui est de propriété //root// également.
  
-sous root //lister// dans un terminal : +Le positionnement du SUID permet à passwd d'​utiliser ses droits de réalisation ​root (rw-) dans le fichier ​shadow ​pour l'​exécution de la commande lambda initié, en la prenant à son compte ! \\
-     ​blabla # ls -l /​etc/​shadow +
-     -rw-r----- ​ root root  ​shadow+
  
-  Ce qui indique toutes les limites ​de ce fichier (u = root)Sécurité maxi !+Exit l'​utilisateur non-root initiateur ​de la commande ! C'est donc root qui la prend à son compte juste pour l'​exécution de cette commande\\
  
-Puis, //lister// : +===== Final =====
-     ​blabla #ls -l /​usr/​bin/​passwd +
-     ​-rxsr-xr-x ​ root  root /​usr/​bin/​passwd +
-Ici, le droit (**x**) sur le fichier passwd est accordé +
-à tous les exécutants lambda. (bah..) +
-De plus : +
-   Le fichier passwd propriété de root, a accès de réalisation (rw) +
-   dans le fichier shadow, propriété root également.+
  
-   Le positionnement du SUID permet à passwd d'​utiliser ses droits de réalisation root (rw-) +Il est ainsi possible ​de permettre ​à tout exécutant non-root d'agir dans un fichier en préservant la haute sécurité de celui-ci dans le cadre **UNIQUE** de l'​exécution d'une commande ​qui serait ​non autorisée au départ ​sans la rendre permanente pour toute autre commande
-   dans le fichier shadow pour l'​exécution de la commande lambda initié, en la prenant à son compte ! +
-//​C'​t'​un coquin... Majax enfoncé// ! +
-  Exit l'​utilisateur non-root initiateur de la commande ! C'est root qui agit maintenant ! +
-//Trop fort... Le coup d'la malle d'​Houdini//​... **Ouarf** ! +
-         Il est ainsi possible à tout exécutant non-root ​(ici via le fichier passwd) +
-       d'​agir ​(ici, de mettre à jour le fichier des mots de passe...) +
-    ​dans un fichier en préservant la haute sécurité de celui-ci ​(ici c'est shadow), +
-  ​dans le cadre UNIQUE de l'​exécution d'une commande non autorisée au départ... CHAMPAGNE !+
  
-  Pas de droits ​dangereusements permanents ​! Sécurité préservée,​ santé assurée..!+<note tip>suid permet en fait de ne pas accorder ​de droits ​sur un fichier sensible de manière dangereuse ​\\</​note>​ 
 +//Sécurité préservée,​ santé assurée..!//
  
 LOL LOL
  
-==== Gestion des droits : Astuce ​avec find ====+====Astuce ​find =====
  
 Créé sous l'​inspiration de Melodie, avec la tutelle attentive de Mattux_ ​ ! Qu'ils en soient remerciés ici ! Créé sous l'​inspiration de Melodie, avec la tutelle attentive de Mattux_ ​ ! Qu'ils en soient remerciés ici !
Ligne 242: Ligne 242:
 C'est à dire définis au préalable dans la ligne de commande, C'est à dire définis au préalable dans la ligne de commande,
          ​ATTENTION AUX RISQUES DE SECURITE !          ​ATTENTION AUX RISQUES DE SECURITE !
-de placer ou replacer une série de droits que l'on désire harmoniser d'un seul coup ! :-O Aie ! +de placer ou replacer une série de droits que l'on désire harmoniser d'un seul coup ! \\
-         ​ATTENTION AUX RISQUES DE SECURITE !+
 Regardez-y à deux fois dans cett' manip, sous peine de fragiliser votre machine ! Regardez-y à deux fois dans cett' manip, sous peine de fragiliser votre machine !
  
-D'une manière générale, +D'une manière générale ​: \\ 
-tout ce qui est listé par l'​emploi de find demande une forte connaissance de ce que l'on fait **ET** une circonspection absolue ​+Tout ce qui est listé par l'​emploi de find demande une forte connaissance de ce que l'on fait **ET** une circonspection absolue !
- +
-Sinon, find , par ses possibilités de typage pointu, (j'ai déjà dit Aie ?)(voir le man find.... **1687** ligne !!! C'est pas pour rien !) +
- +
-  permettra un listage au p'tits oignons sans écritures laborieuses... +
-  Ce qui est le soucis de tout linuxien averti au final !+
  
-**Averti** le linuxien, **averti** vous dis-je...+Sinon, find , par ses possibilités de typage pointu((voir le man find.... ​**1687** ligne !!! C'est pas pour rien !)) permettra un listage au p'tits oignons sans écritures laborieuses,​ ce qui est le soucis de tout linuxien averti ​au final !
  
      Ne sautez pas les étapes et prenez conseils, sur DF si ça vous dit...      Ne sautez pas les étapes et prenez conseils, sur DF si ça vous dit...
  
-  A la place de chmod ou de -type, plusieurs options ouvrent un grand jeu de quilles, +À la place de chmod ou de -type, plusieurs options ouvrent un grand jeu de quilles, attention ​donc à certains ​strikes définitifs ​!!! ./​./​./​._._._ ​ :-O
-  ​attention à certains ​strike définitif ​!!!./​./​./​._._._ ​ :-O+
  
 Pour aller plus avant :  Pour aller plus avant : 
-  * Consultez le **man find**. Encore ? Oui encore..! +  * Consultez le **man find**. ​//Encore ​lui ? Oui encore..!// 
-  * Le tuto find : [[manuel:find | Le tuto df sur la commande find]]+  * Le tuto find : [[:​doc:​systeme:find | Le tuto df sur la commande find]]
  
- --- **smolski** 2009/01/11 07:46 //ça nous rajeunis ​pas ça !// ;-)+ --- **smolski** 2009/01/11 07:46 //ça nous rajeuni ​pas ça !// ;-)
doc/systeme/chmod.txt · Dernière modification: 08/11/2023 22:15 par TyZef

Pied de page des forums

Propulsé par FluxBB