OVH Cloud OVH Cloud

[mkdir] masque de création

4 réponses
Avatar
David LE BOURGEOIS
Bonjour.

Sous Debian Sarge, mkdir semble utiliser une espèce de masque (autre que
umask) pour la définition des droits et du propriétaire. Et ce masque
paraît être fonction du répertoire parents :

$ sudo mkdir /foo /home/foo
$ ls -ld /foo /home/foo
drwxr-xr-x 2 root root 1024 2005-01-28 09:52 /foo
drwxr-sr-x 2 root staff 4096 2005-01-28 09:52 /home/foo
^ ^^^^^

Savez-vous où est spécifié ce comportement ?

Je voudrais l'étendre et l'utiliser pour autre chose.
Par exemple un "sudo mkdir /var/www/foo" positionnerait le propriétaire
à www-data:www-data et l'umask à 077 pour le répertoire foo.

Merci.

--
David LE BOURGEOIS

4 réponses

Avatar
Nicolas George
David LE BOURGEOIS wrote in message
<41fa00d1$0$21792$:
$ sudo mkdir /foo /home/foo
$ ls -ld /foo /home/foo
drwxr-xr-x 2 root root 1024 2005-01-28 09:52 /foo
drwxr-sr-x 2 root staff 4096 2005-01-28 09:52 /home/foo
^ ^^^^^
Savez-vous où est spécifié ce comportement ?


Regarde ce que donne ls -ld /home, c'est probablement là qu'est le point
important. Ceci dit, je ne comprends pas pourquoi /home serait SGID staff...

Avatar
TiChou
Dans le message <news:41fa00d1$0$21792$,
*David LE BOURGEOIS* tapota sur f.c.o.l.configuration :

Bonjour.


Bonjour,

Sous Debian Sarge, mkdir semble utiliser une espèce de masque (autre que
umask) pour la définition des droits et du propriétaire.


Non, il n'y a aucune spécificité propre à cette distribution pour la
commande 'mkdir'. La commande 'mkdir' se comporte de la même manière sur
toutes les distributions Linux ainsi que sur tous les unix.

Et ce masque paraît être fonction du répertoire parents :


S'il vous paraît être fonction du répertoire parent, alors pourquoi n'êtes
vous pas aller plus loin dans votre investigation en allant justement
regarder les permissions de ce répertoire qui vous aurez alors mis sur la
bonne piste ? ;)

$ sudo mkdir /foo /home/foo
$ ls -ld /foo /home/foo
drwxr-xr-x 2 root root 1024 2005-01-28 09:52 /foo
drwxr-sr-x 2 root staff 4096 2005-01-28 09:52 /home/foo
^ ^^^^^

Savez-vous où est spécifié ce comportement ?


$ ls -ld / /home

Pour l'explication, je vous invite à lire le site suivant qui traite en
détail des permissions :

http://www.ac-creteil.fr/reseaux/systemes/linux/droits-fichiers.html

Arrêtez-vous sur le paragraphe 'Les droits étendus - Le droit SGID'.

Je voudrais l'étendre et l'utiliser pour autre chose.
Par exemple un "sudo mkdir /var/www/foo" positionnerait le propriétaire à
www-data:www-data


Avec ces droits étendus, vous pouvez « positionner » le groupe propriétaire
sur un autre groupe que votre groupe primaire grâce au SGID du répertoire
parent mais vous ne pourrez pas « positionner » l'utilisateur propriétaire
sur un autre utilisateur propriétaire et il sera obligatoirement celui de
l'utilisateur créant le répertoire.

et l'umask à 077 pour le répertoire foo.


De même, vous ne pourrez pas « positionner » les permissions de cette
manière, les permissions appliquées à un nouveau fichier ou répertoire étant
obligatoirement celles définies par la valeur actuelle de votre umask.

Merci.


De rien.

--
TiChou

Avatar
David LE BOURGEOIS
Rhaaa ! /home était g+s avec root:staff.

Merci pour la piste.
On cherche souvent très loin ce qu'on a devant le nez :-)

Ceci dit, pourquoi sarge met-elle ces permissions ?
Je l'avais aussi pour /usr/local.

--
David LE BOURGEOIS
Avatar
Nicolas George
David LE BOURGEOIS wrote in message
<41fa5689$0$21787$:
Ceci dit, pourquoi sarge met-elle ces permissions ?
Je l'avais aussi pour /usr/local.


Pour /usr/local/, l'idée est que tous les membres du groupe staff ont le
droit d'installer des programmes dedans (c'est à ça que sert ce groupe).
Pour /home/, en revanche, je ne sais pas ce qui a motivé cette idée.