Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
elearning:workbooks:solaris:10:junior:l108 [2019/11/30 09:22] – admin | elearning:workbooks:solaris:10:junior:l108 [2020/01/30 03:28] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
~~PDF: | ~~PDF: | ||
+ | |||
+ | Version : **2020.01** | ||
Dernière mise-à-jour : ~~LASTMOD~~ | Dernière mise-à-jour : ~~LASTMOD~~ | ||
======SO203 - 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' | ||
+ | |||
+ | ^ Type de Sécurité | ||
+ | | DAC | // | ||
=====Préparation===== | =====Préparation===== | ||
Ligne 13: | Ligne 20: | ||
</ | </ | ||
- | + | <WRAP center round important | |
- | <note important> | + | **Important** - Notez que le fichier créé est un fichier **texte**. En effet, Solaris ne tient pas compte de l' |
- | Notez que le fichier créé est un fichier **texte**. En effet, Solaris ne tient pas compte de l' | + | </WRAP> |
- | </note> | + | |
- | + | ||
=====Les Droits Unix Simples===== | =====Les Droits Unix Simples===== | ||
Ligne 68: | Ligne 72: | ||
< | < | ||
# chmod o+w tux.jpg | # chmod o+w tux.jpg | ||
- | # | + | # ls -l | grep tux.jpg |
- | # ls -l | grep tux | + | -rw-r--rw- |
- | -rw-r--rw- | + | |
</ | </ | ||
Ligne 77: | Ligne 80: | ||
< | < | ||
# chmod ug-w tux.jpg | # chmod ug-w tux.jpg | ||
- | # | ||
# ls -l | grep tux | # ls -l | grep tux | ||
- | -r--r--rw- | + | -r--r--rw- |
</ | </ | ||
- | <note important> | + | <WRAP center round 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. | + | **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: | ||
;#; | ;#; | ||
- | <note important> | + | <WRAP center round important |
- | 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: | ||
< | < | ||
# chmod 644 tux.jpg | # chmod 644 tux.jpg | ||
- | # | ||
# ls -l | grep tux | # ls -l | grep tux | ||
- | -rw-r--r-- | + | -rw-r--r-- |
</ | </ | ||
- | <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 | | ||
- | </ | ||
====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 : | + | |
- | \\ | + | |
- | \\ | + | |
^ 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 | | ||
- | </ | ||
Dans l' | Dans l' | ||
Ligne 141: | Ligne 135: | ||
< | < | ||
# umask 044 | # umask 044 | ||
- | # | ||
# touch tux1.jpg | # touch tux1.jpg | ||
- | # | ||
# ls -l | grep tux1 | # ls -l | grep tux1 | ||
- | -rw--w--w- | + | -rw--w--w- |
+ | </ | ||
+ | |||
+ | Modifiez la valeur d' | ||
+ | |||
+ | < | ||
# umask 022 | # umask 022 | ||
</ | </ | ||
- | |||
- | <note important> | ||
- | Modifiez la valeur d' | ||
- | </ | ||
=====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' | ||
Dans le cas du fichier tux.jpg appartenant à root, celui-ci peut changer le propriétaire de root à l' | Dans le cas du fichier tux.jpg appartenant à root, celui-ci peut changer le propriétaire de root à l' | ||
Ligne 163: | Ligne 154: | ||
< | < | ||
# chown nobody tux.jpg | # chown nobody tux.jpg | ||
- | # | ||
# ls -l | grep tux | # ls -l | grep tux | ||
- | -rw-r--r-- | + | -rw-r--r-- |
- | -rw--w--w- 1 root | + | -rw-r--r-- 1 root |
</ | </ | ||
Ligne 175: | Ligne 165: | ||
< | < | ||
# chgrp nobody tux.jpg | # chgrp nobody tux.jpg | ||
- | # | ||
# ls -l | grep tux | # ls -l | grep tux | ||
- | -rw-r--r-- | + | -rw-r--r-- |
- | -rw--w--w- 1 root | + | -rw-r--r-- 1 root |
</ | </ | ||
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 : | ||
< | < | ||
# chown root:root tux.jpg | # chown root:root tux.jpg | ||
- | # | ||
# ls -l | grep tux | # ls -l | grep tux | ||
- | -rw-r--r-- | + | -rw-r--r-- |
- | -rw--w--w- 1 root | + | -rw-r--r-- 1 root |
</ | </ | ||
- | <note important> | + | <WRAP center round important |
- | Seul root peut changer le propriétaire d'un fichier. | + | **Important** - Le changement de propriétaire d’un fichier |
- | </note> | + | </WRAP> |
=====Les Droits Unix Etendus===== | =====Les Droits Unix Etendus===== | ||
Ligne 203: | Ligne 187: | ||
====SUID/ | ====SUID/ | ||
- | Malgré ce que vous venez de voir, dans la première des deux fenêtres | + | Dans la sortie |
< | < | ||
# ls -l /etc/passwd / | # ls -l /etc/passwd / | ||
- | -rw-r--r-- | + | -rw-r--r-- |
- | -r-sr-sr-x | + | -r-sr-sr-x |
</ | </ | ||
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 / | + | Dans le cas donc du changement de mot de passe, chaque utilisateur qui lance le programme / |
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: | ||
< | < | ||
# mkdir inherit | # mkdir inherit | ||
- | # | ||
- | # chown root:nobody inherit | ||
- | # | ||
# chmod g+s inherit | # chmod g+s inherit | ||
- | # | + | # chgrp nogroup inherit |
# touch inherit/ | # touch inherit/ | ||
- | # | ||
# mkdir inherit/ | # mkdir inherit/ | ||
- | # | + | # ls -l inherit |
- | # cd inherit; | + | |
total 8 | total 8 | ||
- | -rw-r--r-- | + | -rw-r--r-- |
- | drwxr-sr-x | + | drwxr-sr-x |
</ | </ | ||
====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 / | ||
# chmod 1777 / | # chmod 1777 / | ||
- | Par exemple | + | Par exemple : |
- | + | ||
- | # mkdir / | + | |
- | + | ||
- | créera un répertoire **repertoire_public** dans /tmp avec les droits suivants | + | |
< | < | ||
# mkdir / | # mkdir / | ||
# ls -l | grep repertoire_public | # ls -l | grep repertoire_public | ||
- | drwxrwxrwt | + | drwxrwxrwt |
</ | </ | ||
Ligne 299: | Ligne 275: | ||
</ | </ | ||
- | L' | + | <WRAP center round important 60%> |
+ | **Important** - L' | ||
+ | </ | ||
Utilisez la commande **getfacl** pour visualiser le résultat : | Utilisez la commande **getfacl** pour visualiser le résultat : | ||
< | < | ||
+ | # setfacl -m user: | ||
# getfacl fichier | # getfacl fichier | ||
Ligne 316: | Ligne 295: | ||
</ | </ | ||
- | <note important> | + | <WRAP center round important |
- | Bien que l'acl soit positionné, | + | **Important** - Bien que l'acl soit positionné, |
- | </ | + | </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' | Il convient donc de changer la valeur du mask afin que nobody puisse récupérer le droit d' | ||
Ligne 340: | Ligne 315: | ||
</ | </ | ||
- | Regardez maintenant l' | + | Regardez maintenant l' |
- | + | ||
- | # mkdir rep1 [Entrée] | + | |
- | + | ||
- | Positionnez des ACL sur le répertoire avec la commande **setfacl** : | + | |
- | + | ||
- | # setfacl -s u:: | + | |
- | + | ||
- | Notez l' | + | |
- | + | ||
- | L' | + | |
- | + | ||
- | Utilisez la commande **getfacl** pour visualiser le résultat | + | |
< | < | ||
+ | # mkdir rep1 | ||
+ | # setfacl -s u:: | ||
# getfacl rep1 | # getfacl rep1 | ||
Ligne 370: | Ligne 335: | ||
</ | </ | ||
- | Créez maintenant | + | <WRAP center round important 60%> |
+ | **Important** - Notez l' | ||
+ | </WRAP> | ||
- | # touch /rep/rep1/fichier1 [Entrée] | + | Créez maintenant un fichier appelé **fichier1** dans **/ |
- | + | ||
- | Utilisez la commande | + | |
- | + | ||
- | # getfacl fichier1 [Entrée] | + | |
- | + | ||
- | Vous obtiendrez un résultat similaire à celui-ci | + | |
< | < | ||
+ | # touch / | ||
# getfacl rep1/ | # getfacl rep1/ | ||
Ligne 392: | Ligne 354: | ||
</ | </ | ||
- | Noter que le fichier créé possède les droits | + | Noter que le fichier créé possède les droits |
- | + | ||
- | =====Références===== | + | |
- | + | ||
- | * **[[http:// | + | |
----- | ----- | ||
< | < | ||
< | < | ||
- | Copyright © 2011-2018 I2TCH LIMITED.< | + | Copyright © 2020 Hugh Norris.< |
</ | </ | ||
</ | </ |