umask spécifique à un répertoire

25 réponses
Avatar
steve
Salut,

Je cherche à définir un umask spécifique à un répertoire. Je sais le
faire à la main (« umask 177 » pour que les fichiers créés dans le
répertoire où j'ai exécuté cette commande aient 600 comme
permissions). Or si je me déconnecte, cette valeur est perdue. Je peux
bien sûr mettre cela dans mon ~/.bashrc ou tout autre fichier du même
type, mais cela agira sur la création de tout fichier dans mon $HOME.

Est-il donc possible de spécifier un umask par répertoire ?

Merci

S

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: https://lists.debian.org/20150610145700.GA23560@petruzzello.ch

10 réponses

1 2 3
Avatar
Francois Lafont
Salut,

On 10/06/2015 16:57, steve wrote:

Je cherche à définir un umask spécifique à un répertoire. Je sais le
faire à la main (« umask 177 » pour que les fichiers créés dans le
répertoire où j'ai exécuté cette commande aient 600 comme
permissions).



Es-tu sûr que la commande usmask agisse uniquement au niveau du répertoire
sur lequel tu te trouves ? Perso, je pense que, quel que soit l'endroit où
la commande umask est exécutée, cela aura une incidence partout durant ta
session. En tout cas, c'est ce que je constate sur ma Wheezy avec bash :

~$ cd /tmp/
~$ umask 777
~$ ls -l /tmp/f1
---------- 1 francois francois 0 juin 10 17:05 /tmp/f1
~$ cd ~
~$ touch f2
~$ ls -l ~/f2
---------- 1 francois francois 0 juin 10 17:06 /home/francois/f2

Or si je me déconnecte, cette valeur est perdue. Je peux
bien sûr mettre cela dans mon ~/.bashrc ou tout autre fichier du même
type, mais cela agira sur la création de tout fichier dans mon $HOME.



Pour moi, cela impactera tout fichier créé dans un bash par le compte
possédant le ~/.bashrc, et cela indépendamment du répertoire dans lequel
le fichier est créé.

Est-il donc possible de spécifier un umask par répertoire ?



À ma connaissance ce n'est pas possible mais ça ne prouve rien. ;)

--
François Lafont

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/ml9k22$mgu$
Avatar
steve
Le 10-06-2015, à 17:10:58 +0200, Francois Lafont a écrit :

Salut,

On 10/06/2015 16:57, steve wrote:

> Je cherche à définir un umask spécifique à un répertoire. Je sais le
> faire à la main (« umask 177 » pour que les fichiers créés dans le
> répertoire où j'ai exécuté cette commande aient 600 comme
> permissions).

Es-tu sûr que la commande usmask agisse uniquement au niveau du répertoire
sur lequel tu te trouves ?



Non, je me suis mal exprimé, je pensais déjà à la suite (le umask dans
le .bashrc) quand j'ai rédigé cette partie du message. Et
effectivement il semble global au compte. Sorry.


> Est-il donc possible de spécifier un umask par répertoire ?

À ma connaissance ce n'est pas possible mais ça ne prouve rien. ;)



C'est vrai ;)

Une autre modeste âme aurait-elle une idée sur la question ?

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Thierry Despeyroux
Le man dit
A child process created via fork(2) inherits its parent's
umask. The umask is left unchanged by execve(2).

Cela voudrait dire qu'il faut faire un fork, puis dans le process cré é
faire le umask qui sera valable pour tous les sous process de ce fork,
mais pas ailleurs,

non ?

Thierry


Le Wed, 10 Jun 2015 17:29:23 +0200,
steve a écrit :

Le 10-06-2015, à 17:10:58 +0200, Francois Lafont a écrit :

> Salut,
>
> On 10/06/2015 16:57, steve wrote:
>
> > Je cherche à définir un umask spécifique à un r épertoire. Je
> > sais le faire à la main (« umask 177 » pour que les f ichiers
> > créés dans le répertoire où j'ai exécutà © cette commande aient 600
> > comme permissions).
>
> Es-tu sûr que la commande usmask agisse uniquement au niveau du
> répertoire sur lequel tu te trouves ?

Non, je me suis mal exprimé, je pensais déjà à la s uite (le umask
dans le .bashrc) quand j'ai rédigé cette partie du message. Et
effectivement il semble global au compte. Sorry.


> > Est-il donc possible de spécifier un umask par répertoire ?
>
> À ma connaissance ce n'est pas possible mais ça ne prouve rie n. ;)

C'est vrai ;)

Une autre modeste âme aurait-elle une idée sur la question  ?




--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
steve
Le mercredi 10 juin 2015, Thierry Despeyroux a écrit :

Le man dit
A child process created via fork(2) inherits its parent's
umask. The umask is left unchanged by execve(2).

Cela voudrait dire qu'il faut faire un fork, puis dans le process créé
faire le umask qui sera valable pour tous les sous process de ce fork,
mais pas ailleurs,

non ?



Hum… et pratiquement, ça veut dire quoi ?

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
NicoLagaffe
------0A9OCHT3BDZAAM3GS93L27QIR2P4F2
Content-Transfer-Encoding: 8bit
Content-Type: text/plain;
charset=UTF-8

Le 10 juin 2015 16:57:00 UTC+02:00, steve a écrit :
Salut,

Je cherche à définir un umask spécifique à un répertoire. Je sais le
faire à la main (« umask 177 » pour que les fichiers créés dans le
répertoire où j'ai exécuté cette commande aient 600 comme
permissions). Or si je me déconnecte, cette valeur est perdue. Je peux
bien sûr mettre cela dans mon ~/.bashrc ou tout autre fichier du même
type, mais cela agira sur la création de tout fichier dans mon $HOME.

Est-il donc possible de spécifier un umask par répertoire ?

Merci

S

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/



Bonjour,

Et pourquoi pas un
chmod 600 mondossier
chmod g+s mondossier
Ainsi tout docs ou dossier crees dedans aura le meme umask.
Non ?
--
NicoLagaffe
http://nicolagaffe.net
Librement propulsé par GNU/Linux
------0A9OCHT3BDZAAM3GS93L27QIR2P4F2
Content-Type: text/html;
charset=utf-8
Content-Transfer-Encoding: 8bit

<html><head></head><body><div class="gmail_quote">Le 10 juin 2015 16:57:00 UTC+02:00, steve &lt;&gt; a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail"> Salut,<br /><br /> Je cherche à définir un umask spécifique à un répertoire. Je sais le<br /> faire à la main (« umask 177 » pour que les fichiers créés dans le<br /> répertoire où j'ai exécuté cette commande aient 600 comme<br /> permissions). Or si je me déconnecte, cette valeur est perdue. Je peux<br /> bien sûr mettre cela dans mon ~/.bashrc ou tout autre fichier du même<br /> type, mais cela agira sur la création de tout fichier dans mon $HOME.<br /><br /> Est-il donc possible de spécifier un umask par répertoire ? <br /><br /> Merci<br /><br /> S<br /></pre></blockquote></div><br clear="all">Bonjour,<br>
<br>
Et pourquoi pas un<br>
chmod 600 mondossier<br>
chmod g+s mondossier<br>
Ainsi tout docs ou dossier crees dedans aura le meme umask.<br>
Non ?<br>
-- <br>
NicoLagaffe<br>
<a href="http://nicolagaffe.net">http://nicolagaffe.net</a><br>
Librement propulsé par GNU/Linux</body></html>
------0A9OCHT3BDZAAM3GS93L27QIR2P4F2--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Didier Link
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Le 10/06/2015 17:29, steve a écrit :
Le 10-06-2015, à 17:10:58 +0200, Francois Lafont a écrit :

Salut,

On 10/06/2015 16:57, steve wrote:

Je cherche à définir un umask spécifique à un répertoire. Je
sais le faire à la main (« umask 177 » pour que les fichiers
créés dans le répertoire où j'ai exécuté cette commande aient
600 comme permissions).



Es-tu sûr que la commande usmask agisse uniquement au niveau du
répertoire sur lequel tu te trouves ?



Non, je me suis mal exprimé, je pensais déjà à la suite (le umask
dans le .bashrc) quand j'ai rédigé cette partie du message. Et
effectivement il semble global au compte. Sorry.


Est-il donc possible de spécifier un umask par répertoire ?



À ma connaissance ce n'est pas possible mais ça ne prouve rien.
;)



C'est vrai ;)

Une autre modeste âme aurait-elle une idée sur la question ?




Peut-être voir du côté des ACL (man setfacl) pour mettre un umask par
défaut par ce biais sur un répertoire ?

Je n'ai jamais essayé donc à voir si ça marche effectivement pour un
umask, je sais que ça fonctionne pour les droits user et group.

Didier Link

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJVeFsFAAoJELN7uGQSfYWjmNoP/jUiOWLWJxyhwfg+V5cmdr09
t4htNIOhvfOMd7zGAUTWLmxuNGX7/iWAwI2agsp5CbHX/i595n4MF9qcrf6s9Dx5
Yspyao7iwRUS6AhiPctxc7fr6rgg4jSzEGn5kta0sbrSDmbp1ORkTysfMYOuUW1d
KJDNaxmO/cdSPaJ7vy6W66MeH3pi+ZCGWFvTF8c1KCyFMuFZSzshkdeRCC9MG16U
Ybh5QGxiaB3Yo4nafTZXkFWs8s5JsnL+VAwDJINgL9kGza9JcEiA68JkFUS/Qc9K
nWtpXswgXS8vDNSqSLW3snELpf0gO4DwsorNBbZuTN5+keiec9e8jpODE1Wopcpn
MSbvMc69pYh3cfEx8QnPRFR2XEuUo9tDK8FRD6eTxCxK6jqk8K3RloY7z3UTfc5i
Nhdz4z5yCsXX0Gow4Q/hZukfkcTpqExf2gLX6qVbC2u7BoOd0Xp9z0miozp97Wuf
/JUpCVKzImwYr2XjMzUOnFhH0P35sHiDDN6PQMDzitVb91eerwUHLVDTMoOA6Cr7
YzkdSUhTP4xIVHX43IgKW78r5CdgIOKQTcm2VebyXd9iCp92MuX06NfZum67XhT/
A0/8YpruvOC7J+cyS6nqkFG3vtAtERGYnqxixo6P7QrALj467W0GGXC1eckyXcvn
LdyiYfijB14oXD1djEM9
¯+o
-----END PGP SIGNATURE-----

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Francois Lafont
On 10/06/2015 17:43, steve wrote:

Le man dit
A child process created via fork(2) inherits its parent's
umask. The umask is left unchanged by execve(2).

Cela voudrait dire qu'il faut faire un fork, puis dans le process créé
faire le umask qui sera valable pour tous les sous process de ce fork,
mais pas ailleurs,

non ?



Hum… et pratiquement, ça veut dire quoi ?



Ça veut juste dire que le umask est une propriété héritée lors
de la création d'un processus enfant par le parent. Donc si dans
ton shell courant par exemple tu as paramétré umask et que tu lances
ensuite une commande qui entraîne un fork, le processus enfant créé
aura le même umask. Mais tout cela n'a rien à voir l'idée de confiner
le changement d'un umask à un répertoire donné.

--
François Lafont

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/ml9moh$afv$
Avatar
Francois Lafont
On 10/06/2015 17:33, NicoLagaffe wrote:

Et pourquoi pas un
chmod 600 mondossier
chmod g+s mondossier
Ainsi tout docs ou dossier crees dedans aura le meme umask.
Non ?



Il me semble que non. Changer le bit sgid d'un répertoire va
agir sur le *groupe* *propriétaire* des fichiers créés dans le dit
répertoire mais ça n'aura aucune influence sur la valeur des bits
correspondant aux droits Unix de ce fichier. Si le PO veut agir
sur le umask, c'est qu'il vaut agit sur la valeur par défaut
des bits correspondant aux droits Unix d'un fichier lors de sa
création, pas sur le propriétaire et le groupe propriétaire du
fichier.

--
François Lafont

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/ml9n3f$h49$
Avatar
steve
Le 10-06-2015, à 17:43:01 +0200, Didier Link a écrit :

> Une autre modeste âme aurait-elle une idée sur la question ?
>

Peut-être voir du côté des ACL (man setfacl) pour mettre un umask par
défaut par ce biais sur un répertoire ?



J'y avais pensé, mais avant de m'y lancer (je n'y connais rien en
acl), j'espérais pouvoir m'en sortir avec des choses que je connais
(pas trop mal).

Merci.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
steve
Le 10-06-2015, à 18:02:54 +0200, Francois Lafont a écrit :

On 10/06/2015 17:33, NicoLagaffe wrote:

> Et pourquoi pas un
> chmod 600 mondossier
> chmod g+s mondossier
> Ainsi tout docs ou dossier crees dedans aura le meme umask.
> Non ?

Il me semble que non. Changer le bit sgid d'un répertoire va
agir sur le *groupe* *propriétaire* des fichiers créés dans le dit
répertoire mais ça n'aura aucune influence sur la valeur des bits
correspondant aux droits Unix de ce fichier. Si le PO veut agir
sur le umask, c'est qu'il vaut agit sur la valeur par défaut
des bits correspondant aux droits Unix d'un fichier lors de sa
création, pas sur le propriétaire et le groupe propriétaire du
fichier.



Absolument. Le propriétaire et le groupe ne doivent pas changer (c'est
moi :)).

L'idée est de pouvoir créer des fichiers dans un répertoire
particulier avec des permissions 600, et c'est tout.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
1 2 3