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 [27/05/2015 17:16] milou [Droits spéciaux - SUID] |
doc:systeme:chmod [12/11/2016 16:31] bendia [TP 2] |
||
---|---|---|---|
Ligne 94: | Ligne 94: | ||
une expression **binaire** = un nombre **décimal** = une notation | une expression **binaire** = un nombre **décimal** = une notation | ||
+ | |||
+ | |||
Soit : | Soit : | ||
Ligne 129: | Ligne 131: | ||
Donne en séquences de droits complètes : | Donne en séquences de droits complètes : | ||
* (rwxr-xr-%%-%%) = 754. | * (rwxr-xr-%%-%%) = 754. | ||
+ | |||
+ | <note>**Pour briller en société, comment convertir un nombre binaire en nombre décimal :** | ||
+ | |||
+ | Il s'agit donc de passer de la base **2** (où chaque chiffre peut prendre 2 valeurs, //0// ou //1//), à la base **10** (où chaque chiffre peut prendre 10 valeurs, de //0// à //9//). Vous savez tous décomposer un nombre en base **10**. Par exemple **103**. | ||
+ | |||
+ | Le premier chiffre à droite, //3// à le rang **0**, celui juste à sa gauche, //0// le rang **1**, le suivant vers la gauche, //3//, à le rang **2**, et ansi de suite. | ||
+ | |||
+ | 103 = 1 x 100 + 0 x 10 + 3 x 1 \\ | ||
+ | On peut aussi l'écrire comme ça, si on se rappelle que \\ //n'importe quoi//<sup>1</sup> = //n'importe quoi// \\ | ||
+ | et que \\ | ||
+ | //n'importe quoi//<sup>0</sup> = 1 : \\ | ||
+ | 103 = 1 x 10<sup>2</sup> + 0 x 10<sup>1</sup> + 3 x 10<sup>0</sup> | ||
+ | |||
+ | On remarque que la décompostion consiste à multiplier la valeur du chiffre du rang par la base élevée à la puissance du rang, et d'additionner toutes ces mutiplications :-) | ||
+ | |||
+ | On va faire exactement pareil pour décomposer un nombre en base **2**. Si on dit que //n// est le rang, on multiplie la valeur du chiffre du rang par 2<sup>n</sup>, et on additionne le résultat de toute ces multiplications. | ||
+ | |||
+ | Par exemple : | ||
+ | |||
+ | 010 = 0 x 2<sup>2</sup> + 1 x 2<sup>1</sup> + 0 x 2<sup>0</sup> = 0 x 4 + 1 x 2 + 0 x 1 = 2 \\ | ||
+ | 101 = 1x2<sup>2</sup>+0x2<sup>1</sup>+1x2<sup>0</sup> = 1 x 4 + 0 x 2 + 1 x 1 = 5 | ||
+ | </note> | ||
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. | ||
Ligne 154: | Ligne 178: | ||
</note> | </note> | ||
- | 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 **fonctionnement**, 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 182: | Ligne 206: | ||
//Il était une fois//... 8-o | //Il était une fois//... 8-o | ||
- | 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 ! | + | 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 ! |
En effet, le droit SUID est un droit //TEMPORAIRE// de fichier. \\ | En effet, le droit SUID est un droit //TEMPORAIRE// de fichier. \\ | ||
Ligne 215: | Ligne 239: | ||
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 ! \\ | 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 ! \\ | ||
- | 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. \\ | + | Exit l'utilisateur non-root initiateur de la commande ! C'est donc root qui la prend à son compte juste pour l'exécution à l'intérieur de cette commande. \\ |
===== Final ===== | ===== Final ===== |