Outils pour utilisateurs

Outils du site


informatique:linux:chmodown

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
informatique:linux:chmodown [2008/06/23 18:43]
benoit
informatique:linux:chmodown [2018/09/06 19:10] (Version actuelle)
Ligne 28: Ligne 28:
   chown -c benoit file*.txt   chown -c benoit file*.txt
   ​   ​
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
  
  
Ligne 37: Ligne 47:
 ===== Modification des droits sur un fichier ===== ===== Modification des droits sur un fichier =====
  
 +=== Règles d'​application des droits ===
  
 Pour modifier des droits sur un fichier il faut comprendre le tableau suivant : Pour modifier des droits sur un fichier il faut comprendre le tableau suivant :
Ligne 46: Ligne 57:
  
  
-L'''​utilisateur''​ est identifié par la lettre **u** +  * L'''​utilisateur''​ est identifié par la lettre **u** 
-Le ''​groupe''​ est identifié par la lettre **g** +  ​* ​Le ''​groupe''​ est identifié par la lettre **g** 
-Les ''​autres''​ sont identifiés par la lettre **o**+  ​* ​Les ''​autres''​ sont identifiés par la lettre **o**
  
 Pour chaque **u**ser, **g**roup et **o**thers il est possible d'​appliquer les droits suivants : Pour chaque **u**ser, **g**roup et **o**thers il est possible d'​appliquer les droits suivants :
  
 +  * La lecture sur un fichier s'​effectue par la lettre **r** (**R**ead) ou la valeur numérique **4**
 +  * L'​écriture sur un fichier s'​effectue par la lettre **w** (**W**rite) ou la valeur numérique **2**
 +  * L'​exécution d'un fichier s'​effectue par la lettre **x** (e**X**ecute) ou la valeur numérique **1**
 +
 +=== Changement de droit avec les lettres ===
 +Avec cette méthode l'​ajout de droit s'​effectue par le signe **+** et la suppression par le signe **-**
 +
 +Pour ajouter les droits de lecture pour le group : 
 +  chmod g+r file.txt
 +
 +Pour ajouter les droits de lecture et ecriture pour le group : 
 +  chmod g+rw file.txt
 +
 +Pour ajouter les droits d'​exécution à l'​utilisateur (propriétaire): ​
 +  chmod u+x file.txt
 +
 +Pour retirer les droits d'​écriture au autres :
 +  chmod o-w file.txt
 +
 +=== Changement de droit avec les valeurs numériques ===
 +
 +Avec cette méthode le changement de droit s'​effectue par l'​addition des valeurs numériques :
 +  4+2+1 = 7 = rwx
 +  4+2+0 = 6 = rw-
 +  4+0+1 = 5 = r-x
 +  0+0+0 = 0 = ---
 +
 +Il faut faire cette opération pour l'​utilisateur,​ le groupe et les autres en fonction des droits que l'on veut donner pour obtenir 3 chiffre que l'on appliquera dans notre commande. Donc pour donner les droit ''​rwx''​ pour l'​utilisateur,​ ''​r--''​ pour le groupe et rien ''​---''​ pour les autres :
 +  chmod 740 file.txt
 +
 +=== Droits spéciaux: setuid, setgid, sticky bit ===
 +
 +Quand un fichier est exécutable par son propriétaire,​ il peut de plus être ''​setuid''​. Cela signifie que lorsqu'​il est exécuté, il l'est avec les droits de son propriétaire,​ et non avec ceux de l'​utilisateur qui le lance. Par exemple, le programme ''​passwd'',​ qui permet à un utilisateur de modifier son mot de passe, est setuid root (c'est à dire qu'il est setuid et qu'il appartient à l'​utilisateur ''​root''​):​ il doit pouvoir écrire dans le fichier ''/​etc/​passwd''​ (ou ''/​etc/​shadow''​),​ dans lequel seul root peut écrire.
 +
 +De la même façon, un exécutable peut être setgid, et s'​exécuter avec les droits du groupe auquel il appartient.
 +
 +  chmod u+s myscript.sh
 +
 +==== Restaurer les droits et propriétaires sur tout un système ====
 +
 +Il peut arriver que des droits récursif aient été défini par erreur et rende le système "non redémarrable"​.
 +Exemple de commande fatal pour un serveur Linux.
 +  chmod 777 /*
 +
 +Des droits trop permissifs mettent le bon fonctionnement du serveur en péril. Si c'est le cas, il est déconseiller de redémarrer le serveur avant de restaurer les droits.
 +
 +**L'​astuce ci-dessous permet de restaurer les droits d'un linux**
 +
 +Sur un serveur Linux sain, lancer les commandes suivantes :
  
 +  find / -printf 'chmod %m "​%h/​%f"​\n'​ > restore-chmod.sh
 +  find / -printf 'chown %u:%g "​%h/​%f"​\n'​ > restore-chown.sh
 +  ​
 +Transférer les deux scripts générés sur le serveur cassé et lancer les scripts :
 +  bash restore-chmod.sh
 +  bash restore-chown.sh
  
 +A noter qu'il peut y avoir des erreurs (notamment sur des fichiers absents).
informatique/linux/chmodown.1214239402.txt.gz · Dernière modification: 2018/09/06 18:59 (modification externe)