jakol Posté(e) le 26 novembre 2007 Partager Posté(e) le 26 novembre 2007 comment calculer le umask 077 Bonjour, je souhaiterais savoir comment calculer le umask 077 pour les fichier de droit 600 Pour le umask 022, c'est 666-022=644 (pour le fichier) et c'est 777-022= 755 (pour les dossiers) merci pour vos futures réponses Lien vers le commentaire Partager sur d’autres sites More sharing options...
Compte_supprime_74291 Posté(e) le 26 novembre 2007 Partager Posté(e) le 26 novembre 2007 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 More sharing options...
jakol Posté(e) le 26 novembre 2007 Auteur Partager Posté(e) le 26 novembre 2007 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 More sharing options...
fabien29200 Posté(e) le 26 novembre 2007 Partager Posté(e) le 26 novembre 2007 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 More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.