OVH Cloud OVH Cloud

[Q] Fonctionnement umask ?

18 réponses
Avatar
sanji
Salut

J'essaie d'étendre ma culture générale...
J'en suis aux droits, et mon guide papier évoque "umask". J'ai déjà un
peu de mal à comprendre les détails théoriques, je passe donc aux
essais, mais là, umask me donne 0022 alors que je m'attendais à maximum
3 caractères...
Je lance donc un "man umask", qui me donne la liste de toutes les
commandes intégrées si j'ai bien compris, mais pas particulièrement
umask.

Enfin, je nage un peu là; si vous aviez une piste pour me débloquer...

Merci.

--
Sanji

8 réponses

1 2
Avatar
Eric Jacoboni
Paul Gaborit writes:

Oui, parce qu'en pratique, l'umask est un masque sur les répertoires
(ceux des fichiers en sont déduits par suppression du bit x).


Ce n'est pas exactement cela... En fait, le programme qui crée un
fichier (ou un répertoire) demande un ensemble de droits. L'umask est
appliqué par dessus et filtre là où il a des 1 (en vue binaire).


Tout à fait d'accord, mais _en pratique_ (j'insiste...) la plupart des
commandes de création de fichier (sauf les compilos, évidemment) ne
demandent pas le bit x...(ce qui est logique) à l'inverse des
commandes de création de répertoires.

Donc ça revient, _en pratique_ à considérer que l'umask fixe les
droits sur les répertoires (et ceux des fichiers sans 'x'), non ?

--
Eric Jacoboni, ne il y a 1437933368 secondes


Avatar
Paul Gaborit
À (at) Tue, 13 Dec 2005 18:00:30 +0100,
Eric Jacoboni écrivait (wrote):
Tout à fait d'accord, mais _en pratique_ (j'insiste...) la plupart des
commandes de création de fichier (sauf les compilos, évidemment) ne
demandent pas le bit x...(ce qui est logique) à l'inverse des
commandes de création de répertoires.


N'oublions pas certains éditeurs de scripts... ou d'autres (par
exemple des programmes "mal" écrits). De toute manière, un programme
peut toujours passer outre (en fixant lui-même les droits)... même si
"ça ne se fait pas" ;-)

Donc ça revient, _en pratique_ à considérer que l'umask fixe les
droits sur les répertoires (et ceux des fichiers sans 'x'), non ?


L'umask ne fixe pas les droits, il les filtre. Le point important est
qu'il ne peut absolument pas en ajouter(*). Celui qui fixe les droits
initiaux, c'est le programme qui demande la création. L'umask se
fiche éperdument de savoir si les droits demandés sont cohérents et à
quoi ils vont s'appliquer, il filtre, c'est tout.

(*) Imaginons un programme qui crée des fichiers lisibles que par le
propriétaire. Je peux changer l'umask comme je veux, ils ne créera
jamais des fichiers lisibles par d'autres. Dans l'autre sens, en
revanche, ça peut marcher (si le programme est bien écrit).

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>

Avatar
Nicolas.MICHEL
patpro ~ Patrick Proniewski wrote:

oublies umask.

Parce qu'au dernières nouvelles, ce truc ne marche pas.
Enfin les appli gui peuvent ne pas le respecter, donc ça ne marche pas.


même en le mettant dans .MacOSX/environment.plist ?


Je ne sais pas, jamais essayé

Tu utilises ce truc ?
Et c'est quoi le chemin complet de .MacOSX ?
Depuis quand on mets des .plist ailleur que dans
..."Library/Preferences" ?

--
S'il n'y a pas de solutions, c'est qu'il n'y a pas de problèmes
iChat/AIM : michelnicolas


Avatar
patpro ~ Patrick Proniewski
In article <1h7igvc.1wwwy1q1v4keigN%,
(Nicolas MICHEL) wrote:

même en le mettant dans .MacOSX/environment.plist ?


Je ne sais pas, jamais essayé

Tu utilises ce truc ?


je l'ai utilisé, pour un LC_truc

Et c'est quoi le chemin complet de .MacOSX ?


~/

Depuis quand on mets des .plist ailleur que dans
..."Library/Preferences" ?


chais pas :)

patpro


Avatar
Nicolas.MICHEL
Matt wrote:

On Tue, 13 Dec 2005 12:12:05 +0100,
Nicolas MICHEL wrote:

oublies umask.

Parce qu'au dernières nouvelles, ce truc ne marche pas.
Enfin les appli gui peuvent ne pas le respecter, donc ça ne marche pas.


Arrête de dire n'importe quoi.
As-tu essayé de changer la valeur de NSUmask dans :
~/Library/Preferences/.GlobalPreferences.plist ?


%> man .GlobalPreferences.plist
No manual entry for .GlobalPreferences.plist

Tu me parles de quoi ? ;->
Ta doc, tu la sorts d'où ?

Et non, j'ai pas encore testé, je vais le faire.
Mais si ce que dit Paul Gaborit est vrais, que rien n'oblige un soft à
respecter le umask que tu as définit, alors on peut raisonnablement dire
que ça ne marchera pas.

Merci Matt :)
--
S'il n'y a pas de solutions, c'est qu'il n'y a pas de problèmes
iChat/AIM : michelnicolas


Avatar
Patrick Stadelmann
In article <dnpbp9$2rsi$,
Matt wrote:

En Suisse on parle bien Français, non ? Je vais t'offrir un réveil matin
pour Noël si ça continue ! ;)


Moi j'avais aussi l'idée que ça ne fonctionnait pas, en particulier
suite au message suivant où un certain "Matt " disait :

Oui mais non. Sous Linux (ou autre), l'umask définit normalement dans son
.profile suffit, mais sous OSX les applis graphiques ne tiennent pas
compte de .profile à moins de jouer avec un fichier nommé
"~/.MacOSX/environment.plist" afin que les applis graphiques profitent
également des variables d'environnement (malheureusement, seulement une
minuscule poignée d'applications graphiques exploitent le fichier
ci-dessus)


http://groups.google.com/group/fr.comp.os.mac-os.x/msg/99ab3a293cc28f13

Patrick
--
Patrick Stadelmann

Avatar
Paul Gaborit
À (at) Wed, 14 Dec 2005 15:27:54 +0100,
(Nicolas MICHEL) écrivait (wrote):
Et non, j'ai pas encore testé, je vais le faire.
Mais si ce que dit Paul Gaborit est vrais, que rien n'oblige un soft à
respecter le umask que tu as définit, alors on peut raisonnablement dire
que ça ne marchera pas.


Je pense raisonnablement que ça devrait marcher pour la plupart des
softs. Pour passer outre, il faut vraiment le faire exprès et un
programmeur a autre chose à faire que ce genre de bidouille si c'est
juste pour le fun. Évidemment, si le cahier des charges le précise,
c'est autre chose.

Donc testez-le... et vous devriez être satisfait, dans la plupart des
cas.

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>

Avatar
sanji
Nicolas MICHEL wrote:

Jean-Daniel SEYRES wrote:


Je lance donc un "man umask", qui me donne la liste de toutes les
commandes intégrées si j'ai bien compris, mais pas particulièrement
umask.


oublies umask.

Parce qu'au dernières nouvelles, ce truc ne marche pas.
Enfin les appli gui peuvent ne pas le respecter, donc ça ne marche pas.

Si tu veux du solide, il faut utiliser les acl. Là tu peux définir pour
de vrais des permissions que même avec beaucoup de bonne volonté
l'utilisateur ne peux pas atérer.


Je n'ai aucune intention d'usage, juste l'envie d'apprendre un peu la
mécanique.
Merci quand même.

--
Sanji


1 2