Aller au contenu

[résolu]comment calculer le umask 077


jakol

Messages recommandés

Si ça te gêne, c'est plus simple de voir ça en binaire...

Si:

lecture possible=4

écriture possible=2

exécution possible=1

quand chaque chiffre correspond dans l'ordre aux permissions pour l'utilisateur propriétaire, le groupe propriétaire et les autres, tu peux récrire ça autrement...

Mettons, pour une permission chiffrée de 6 (rw-), ça veut dire : pas d'exécution, mais lecture et écriture possibles... notons ça de la manière suivante: 110...

Appliquons ça à ton exemple de umask et de fichier:

- le fichier : 600 correspond à rw- --- ---, soit 110 000 000

- le masque : 077 correspond à --- rwx rwx, soit 000 111 111, qu'il faut inverser, puisque c'est un masque, soit 111 000 000

Maintenant, tu fais un ET logique entre le fichier, et l'inverse logique du masque en multipliant, terme binaire à terme binaire, les deux, soit (110 000 000)*(111 000 000)... et tu obtiens 110 000 000 (la même chose que les permissions sur le fichier), ce qui se traduit en rw- --- ---, soit 600...

CQFD...

Edit : boulette sur l'écriture de 6 en binaire dans mon premier exemple (110 et pas 101)... bon, j'étais au téléphone en tapant ça... mea culpa.

Lien vers le commentaire
Partager sur d’autres sites

salut

merci beaucoup pour ta réponse

la réponse vient du binaire...faut que je m'en rappelle

merci encore

;)

Si ça te gêne, c'est plus simple de voir ça en binaire...

Si:

lecture possible=4

écriture possible=2

exécution possible=1

quand chaque chiffre correspond dans l'ordre aux permissions pour l'utilisateur propriétaire, le groupe propriétaire et les autres, tu peux récrire ça autrement...

Mettons, pour une permission chiffrée de 6 (r-x), ça veut dire : pas d'écriture, mais lecture et exécution possibles... notons ça de la manière suivante: 101...

Appliquons ça à ton exemple de umask et de fichier:

- le fichier : 600 correspond à rw- --- ---, soit 110 000 000

- le masque : 077 correspond à --- rwx rwx, soit 000 111 111, qu'il faut inverser, puisque c'est un masque, soit 111 000 000

Maintenant, tu fais un ET logique entre le fichier, et l'inverse logique du masque en multipliant, terme binaire à terme binaire, les deux, soit (110 000 000)*(111 000 000)... et tu obtiens 110 000 000 (la même chose que les permissions sur le fichier), ce qui se traduit en rw- --- ---, soit 600...

CQFD...

Lien vers le commentaire
Partager sur d’autres sites

Tout linuxien ne peut que plussoyer Aefron. Il faut penser binaire.

Il y a 3 droits de base :

r : lecture

w : écriture

x : exécution

Il y a 3 type d'utilisateurs auxquels peuvent s'appliquer ces droits :

u : (user) au propriétaire du fichier lui même

g : (group) au groupe définit sur le fichier

o : (others) aux autres utilisateurs

Bref, beaucoup de combinaisons possibles. Mais en transcrivant le binaire en chiffre (base 10), on obtient une vision condensée de toutes ces possbilités :

rwx = ([0|1] *4) + ([0|1] *2) + ([0|1] *1)

Ca peut paraître compliqué dit comme ça, mais avec un peu de pratique, on voit qu"à une nombre décimal ne correspond qu'une seule combinaison de droits. Par exemple 7 ne correspond uniquement qu'à tous les droits activés. 5 tout sauf l'écriture.

Ensuite, on met à la suite les 3 chiffres pour les utilisateurs :

777 : tous les droits pour tout le monde.

755 : droits limités en lecture et exéction pour tout le monde sauf le propriétaire du fichier

700 : Aucun accès au fichier à part pout le propriétaire du fichier

Bref, avec un peu de pratique cette notation permet de définir rapidement des droits sur un fichier.

L'umask est en fait l'inverse de cette notation. En effet, l'umask se définit comme les droits qui ne sont pas donnés lors de la création d'un fichier / répertoire.

Donc si l'umask est à 022, le propriétaire aura tous les droits (0 : aucun droit enlevé), les autres (groupe et autres) n'auront pas les droits en écriture.

Bref, on pourra faire tous les discours du monde, rien ne vaudra la pratique. Mais après avoir passé quelques secondes pour faire la conversion, l'habitude se prend vite.

Attention néanmoins au chmod !!

Dès qu'on applique le chmod à plusieurs fichiers / répertoires, toujours préférer les arguments [ugo][+ -][rwx] au nombre xyz qui pourra anéantir un système en moind de tant qu'il ne faut pour le dire si les arguments sont mauvais !!!

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...