Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
elearning:workbooks:solaris:10:junior:l108 [2019/11/30 09:21] adminelearning:workbooks:solaris:10:junior:l108 [2020/01/30 03:28] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
 +
 +Version : **2020.01**
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
  
-======SO212 - Gestion des Droits======+======SO203 - Gestion des Droits====== 
 + 
 +Dans sa conception de base, Solaris utilise une approche sécurité de type **DAC**. Cette approche est maintenue dans la mise en place et l'utilisation des **ACL** : 
 + 
 +^ Type de Sécurité  ^ Nom ^ Description ^ 
 +| DAC |  //Discretional Access Control//  | L'accès aux objets est en fonction de l'identité (utilisateur,groupe). Un utilisateur peut rendre accessible aux autres ses propres objets. |
  
 =====Préparation===== =====Préparation=====
Ligne 13: Ligne 20:
 </code> </code>
  
- +<WRAP center round important 60%
-<note important> +**Important** - Notez que le fichier créé est un fichier **texte**. En effet, Solaris ne tient pas compte de l'extension **.jpg** 
-Notez que le fichier créé est un fichier **texte**. En effet, Solaris ne tient pas compte de l'extension **.jpg** +</WRAP>
-</note> +
- +
  
 =====Les Droits Unix Simples===== =====Les Droits Unix Simples=====
Ligne 68: Ligne 72:
 <code> <code>
 # chmod o+w tux.jpg # chmod o+w tux.jpg
-+# ls -l | grep tux.jpg 
-# ls -l | grep tux +-rw-r--rw-   1 root     root           Jan 14 13:09 tux.jpg
--rw-r--rw-   1 root     root           août 25 18:36 tux.jpg+
 </code> </code>
  
Ligne 77: Ligne 80:
 <code> <code>
 # chmod ug-w tux.jpg # chmod ug-w tux.jpg
-# 
 # ls -l | grep tux # ls -l | grep tux
--r--r--rw-   1 root     root           août 25 18:36 tux.jpg+-r--r--rw-   1 root     root           Jan 14 13:09 tux.jpg
 </code> </code>
  
-<note important> +<WRAP center round important 60%
-Seul le propriétaire du fichier ou root peuvent modifier les permissions. Le droit de supprimer un fichier dépend des droits sur le répertoire dans lequel le fichier est stocké et non des droits du fichier lui-même. +**Important** - Seul le propriétaire du fichier ou root peuvent modifier les permissions. Le droit de supprimer un fichier dépend des droits sur le répertoire dans lequel le fichier est stocké et non des droits du fichier lui-même. 
-</note>+</WRAP>
  
 ====Mode Octal==== ====Mode Octal====
Ligne 92: Ligne 94:
 ;#;{{:free:fenestros_essentiels_img_12.jpg|}};#; ;#;{{:free:fenestros_essentiels_img_12.jpg|}};#;
  
-<note important> +<WRAP center round important 60%
-Ainsi les droits rwx rwx rwx correspondent à un chiffre de 777. +**Important** - Ainsi les droits rwx rwx rwx correspondent à un chiffre de 777. 
-</note>+</WRAP>
  
 La commande chmod prend donc la forme suivante: La commande chmod prend donc la forme suivante:
Ligne 104: Ligne 106:
 <code> <code>
 # chmod 644 tux.jpg # chmod 644 tux.jpg
-# 
 # ls -l | grep tux # ls -l | grep tux
--rw-r--r--   1 root     root           août 25 18:36 tux.jpg +-rw-r--r--   1 root     root           Jan 14 13:09 tux.jpg
 </code> </code>
  
-<note important> 
 Les droits d’accès par défaut lors de la création d’un élément sont : Les droits d’accès par défaut lors de la création d’un élément sont :
-\\ +
-\\+
 ^ Répertoires | rwx rwx rwx | 777 |  ^ Répertoires | rwx rwx rwx | 777 | 
 ^ Fichier normal | rw– rw– rw- | 666 | ^ Fichier normal | rw– rw– rw- | 666 |
-</note> 
  
 ====La Commande umask==== ====La Commande umask====
Ligne 128: Ligne 125:
 avant de créer son fichier.  avant de créer son fichier. 
  
-<note tip> +La commande umask sert à enlever des droits des droits maximaux : 
-umask sert à enlever des droits des droits maximaux : +
-\\ +
-\\+
 ^ Masque maximum lors de la création d’un fichier | rw- rw- rw- | 666 | ^ Masque maximum lors de la création d’un fichier | rw- rw- rw- | 666 |
 ^ Droits à retirer | --- -w- -w- | 022 | ^ Droits à retirer | --- -w- -w- | 022 |
 ^ Résultat | rw-  r--  r-- | 644 | ^ Résultat | rw-  r--  r-- | 644 |
-</note> 
  
 Dans l'exemple qui suit, on utilise la commande touch pour créer un fichier vide ayant les nouveaux droits par défaut : Dans l'exemple qui suit, on utilise la commande touch pour créer un fichier vide ayant les nouveaux droits par défaut :
Ligne 141: Ligne 135:
 <code> <code>
 # umask 044 # umask 044
-# 
 # touch tux1.jpg # touch tux1.jpg
- 
 # ls -l | grep tux1 # ls -l | grep tux1
--rw--w--w-   1 root     root           août 25 18:44 tux1.jpg+-rw--w--w-   1 root     root           Jan 14 13:15 tux1.jpg 
 +</code> 
 + 
 +Modifiez la valeur d'umask à 022 : 
 + 
 +<code>
 # umask 022 # umask 022
 </code> </code>
- 
-<note important> 
-Modifiez la valeur d'umask à 022 après avoir testé la commande. 
-</note> 
  
 =====Modifier le propriétaire ou le groupe===== =====Modifier le propriétaire ou le groupe=====
  
 ====La Commande chown==== ====La Commande chown====
- 
-Le changement de propriétaire d’un fichier se fait uniquement par l'administrateur système root.  
  
 Dans le cas du fichier tux.jpg appartenant à root, celui-ci peut changer le propriétaire de root à l'utilisateur **nobody** avec la commande suivante : Dans le cas du fichier tux.jpg appartenant à root, celui-ci peut changer le propriétaire de root à l'utilisateur **nobody** avec la commande suivante :
Ligne 163: Ligne 154:
 <code> <code>
 # chown nobody tux.jpg # chown nobody tux.jpg
-# 
 # ls -l | grep tux # ls -l | grep tux
--rw-r--r--   1 nobody   root           août 25 18:36 tux.jpg +-rw-r--r--   1 nobody   root           Jan 14 13:09 tux.jpg 
--rw--w--w-   1 root     root           août 25 18:44 tux1.jpg+-rw-r--r--   1 root     root           Jan 14 13:15 tux1.jpg
 </code> </code>
  
Ligne 175: Ligne 165:
 <code> <code>
 # chgrp nobody tux.jpg # chgrp nobody tux.jpg
-# 
 # ls -l | grep tux # ls -l | grep tux
--rw-r--r--   1 nobody   nobody         août 25 18:36 tux.jpg +-rw-r--r--   1 nobody   nobody         Jan 14 13:09 tux.jpg 
--rw--w--w-   1 root     root           août 25 18:44 tux1.jpg+-rw-r--r--   1 root     root           Jan 14 13:15 tux1.jpg
 </code> </code>
  
 Ces deux commandes peuvent être combinées en une seule : Ces deux commandes peuvent être combinées en une seule :
- 
-  # chown root:root tux.jpg [Entrée] 
- 
-Par exemple : 
  
 <code> <code>
 # chown root:root tux.jpg # chown root:root tux.jpg
-# 
 # ls -l | grep tux # ls -l | grep tux
--rw-r--r--   1 root     root           août 25 18:36 tux.jpg +-rw-r--r--   1 root     root           Jan 14 13:09 tux.jpg 
--rw--w--w-   1 root     root           août 25 18:44 tux1.jpg+-rw-r--r--   1 root     root           Jan 14 13:15 tux1.jpg
 </code> </code>
  
-<note important> +<WRAP center round important 60%
-Seul root peut changer le propriétaire d'un fichier. +**Important** - Le changement de propriétaire dun fichier se fait uniquement par l'administrateur système **root**
-</note>+</WRAP>
  
 =====Les Droits Unix Etendus===== =====Les Droits Unix Etendus=====
Ligne 203: Ligne 187:
 ====SUID/SGID bit==== ====SUID/SGID bit====
  
-Malgré ce que vous venez de voir, dans la première des deux fenêtres ci-dessous, vous noterez que le fichier **passwd** se trouvant dans le répertoire **/etc** possède les permissions **rw- r-- r--** et qu'il appartient à **root**. Autrement dit **seul** root peut écrire dans ce fichier. Or, quand un utilisateur normal change son mot de passe, il écrit dans ce fichier. Ceci semble donc être une contradiction.+Dans la sortie de la commande **ls -l /etc/passwd /usr/bin/passwd** ci-dessous, vous noterez que le fichier **/etc/passwd** possède les permissions **rw- r-- r--** et qu'il appartient à **root**. Autrement dit **seul** root peut écrire dans ce fichier. Or, quand un utilisateur normal change son mot de passe, il écrit dans ce fichier. Ceci semble donc être une contradiction.
  
 <code> <code>
 # ls -l /etc/passwd /usr/bin/passwd # ls -l /etc/passwd /usr/bin/passwd
--rw-r--r--   1 root     sys          717 août 15 11:51 /etc/passwd +-rw-r--r--   1 root     sys          802 Jan 14 12:55 /etc/passwd 
--r-sr-sr-x   1 root     sys        22644 août  7  2009 /usr/bin/passwd+-r-sr-sr-x   1 root     sys        26764 Jun 13  2012 /usr/bin/passwd
 </code> </code>
  
Ligne 218: Ligne 202:
 Quand le SUID bit est placé sur un programme, l’utilisateur qui lance ce programme se voit affecté le numéro d’utilisateur du propriétaire de ce programme et ce pour la durée de son exécution. Quand le SUID bit est placé sur un programme, l’utilisateur qui lance ce programme se voit affecté le numéro d’utilisateur du propriétaire de ce programme et ce pour la durée de son exécution.
  
-Ex : Dans le cas du changement de mot de passe, chaque utilisateur qui lance le programme /usr/bin/passwd se trouve temporairement avec le numéro d’utilisateur du propriétaire du programme passwd, c’est à dire root. De cette façon, l’utilisateur peut intervenir sur le fichier /etc/passwd. Ce droit est indiqué par la lettre s à la place de la lettre x.+Dans le cas donc du changement de mot de passe, chaque utilisateur qui lance le programme /usr/bin/passwd se trouve temporairement avec le numéro d’utilisateur du propriétaire du programme passwd, c’est à dire root. De cette façon, l’utilisateur peut intervenir sur le fichier /etc/passwd. Ce droit est indiqué par la lettre s à la place de la lettre x.
  
 La même fonction existe pour le groupe à l’aide du SGID bit. La même fonction existe pour le groupe à l’aide du SGID bit.
Ligne 240: Ligne 224:
 <code> <code>
 # mkdir inherit # mkdir inherit
-# 
-# chown root:nobody inherit 
-# 
 # chmod g+s inherit # chmod g+s inherit
-#+chgrp nogroup inherit
 # touch inherit/test.txt # touch inherit/test.txt
-# 
 # mkdir inherit/testrep # mkdir inherit/testrep
-# +# ls -l inherit
-# cd inherit; ls -l+
 total 8 total 8
--rw-r--r--   1 root     nobody         août 25 19:02 test.txt +-rw-r--r--   1 root     nogroup        Jan 16 11:55 test.txt 
-drwxr-sr-x   2 root     nobody       117 août 25 19:02 testrep+drwxr-sr-x   2 root     nogroup      117 Jan 16 11:55 testrep
 </code>  </code> 
  
 ====Sticky bit==== ====Sticky bit====
  
-Il existe un dernier cas qui s’appelle le **sticky bit**. Le sticky bit est utilisé pour des répertoires ou tout le monde a tous les droits. Dans ce cas, tout le monde peut supprimer des fichiers dans le répertoire. En ajoutant le sticky bit, uniquement le propriétaire du fichier peut le supprimer.+Il existe un dernier cas qui s’appelle le **sticky bit**. Le sticky bit est utilisé pour des répertoires ou tout le monde a tous les droits. Dans ce cas, tout le monde peut supprimer des fichiers dans le répertoire. En ajoutant le sticky bit, uniquement le propriétaire du fichier peut le supprimer :
  
 +  # chmod o+t /répertoire
   # chmod 1777 /répertoire   # chmod 1777 /répertoire
  
-Par exemple la ligne de commande: +Par exemple :
- +
-  # mkdir /tmp/repertoire_public; cd /tmp; chmod 1777 repertoire_public [Entrée] +
- +
-créera un répertoire **repertoire_public** dans /tmp avec les droits suivants :+
  
 <code> <code>
 # mkdir /tmp/repertoire_public; cd /tmp; chmod 1777 repertoire_public # mkdir /tmp/repertoire_public; cd /tmp; chmod 1777 repertoire_public
 # ls -l | grep repertoire_public # ls -l | grep repertoire_public
-drwxrwxrwt   2 root     root         117 août 25 18:58 repertoire_public+drwxrwxrwt   2 root     root         117 Jan 14 13:25 repertoire_public
 </code> </code>
  
Ligne 299: Ligne 275:
 </code> </code>
  
-L'option **-m** ajoute un ACL aux ACL existants.+<WRAP center round important 60%> 
 +**Important** - L'option **-m** ajoute un ACL aux ACL existants. 
 +</WRAP>
  
 Utilisez la commande **getfacl** pour visualiser le résultat : Utilisez la commande **getfacl** pour visualiser le résultat :
  
 <code> <code>
 +# setfacl -m user:nobody:rw- fichier
 # getfacl fichier # getfacl fichier
  
Ligne 316: Ligne 295:
 </code> </code>
  
-<note important> +<WRAP center round important 60%
-Bien que l'acl soit positionné, l'utilisateur nobody a un droit effectif de **r**. Ceci est du au fait que le **mask** est **r--**. +**Important** - Bien que l'acl soit positionné, l'utilisateur nobody a un droit effectif de **r--**. Ceci est du au fait que le **mask** est **r--**. Le mask indique les permissions maximales qui peuvent être acccordées à un utilisateur ou un groupe tiers
-</note> +</WRAP>
- +
-<note warning> +
-mask: A mask ACL entry specifies the maximum access which can be granted by any ACL entry except the user entry for the file owner and the other entry (entry tag type ACL_MASK)+
-</note>+
  
 Il convient donc de changer la valeur du mask afin que nobody puisse récupérer le droit d'écriture : Il convient donc de changer la valeur du mask afin que nobody puisse récupérer le droit d'écriture :
Ligne 340: Ligne 315:
 </code>  </code> 
  
-Regardez maintenant l'effet des ACL sur un répertoire. Créez le répertoire /rep/rep1 : +Regardez maintenant l'effet des ACL sur un répertoire :
- +
-  # mkdir rep1 [Entrée] +
- +
-Positionnez des ACL sur le répertoire avec la commande **setfacl** : +
- +
-  # setfacl -s u::rwx,g::r-x,o:r-x,m:r-x,d:u::rw-,d:g::rw-,d:o:---,d:m:rw- rep1 [Entrée] +
- +
-Notez l'utilisation de la lettre **d** pour indiquer un droit par défault. +
- +
-L'option **-s** efface les anciens ACL et les remplace avec les nouveaux. +
- +
-Utilisez la commande **getfacl** pour visualiser le résultat :+
  
 <code> <code>
 +# mkdir rep1
 +# setfacl -s u::rwx,g::r-x,o:r-x,m:r-x,d:u::rw-,d:g::rw-,d:o:---,d:m:rw- rep1
 # getfacl rep1 # getfacl rep1
  
Ligne 370: Ligne 335:
 </code>  </code> 
  
-Créez maintenant un fichier appelé fichier1 dans /rep/rep1 :+<WRAP center round important 60%> 
 +**Important** - Notez l'utilisation de la lettre **d** pour indiquer un droit par défault. L'option **-s** efface les anciens ACL et les remplace avec les nouveaux. 
 +</WRAP>
  
-  # touch /rep/rep1/fichier1 [Entrée] +Créez maintenant un fichier appelé **fichier1** dans **/rep/rep1** et consulter les ACLs :
- +
-Utilisez la commande **getfacl** pour visualiser le résultat : +
- +
-  # getfacl fichier1 [Entrée] +
- +
-Vous obtiendrez un résultat similaire à celui-ci :+
  
 <code> <code>
 +# touch /rep/rep1/fichier1
 # getfacl rep1/fichier1 # getfacl rep1/fichier1
  
Ligne 392: Ligne 354:
 </code> </code>
  
-Noter que le fichier créé possède les droits //default// positionnés sur le répertoire rep1. +Noter que le fichier créé possède les droits par défaut positionnés sur le répertoire rep1.
- +
-=====Références===== +
- +
-  * **[[http://www.oracle.com/technetwork/documentation/solaris-10-192992.html|The Oracle Technology Network]]** +
  
 ----- -----
 <html> <html>
 <center> <center>
-Copyright © 2011-2018 I2TCH LIMITED.<br><br>+Copyright © 2020 Hugh Norris.<br><br>
 </center> </center>
 </html> </html>
Menu