"umask" par défaut à 022 : mais pourquoi ?!

[quote=“ggoodluck47”]Re,

Mais normalement un autre utilisateur (sauf root) n’a pas accès a mon /home/gerard, pas même s’il fait partie de mon groupe, ou alors je n’ai rien compris au système des droits ?

gerard@debian:/home$ ll
total 8
drwx------ 49 gerard gerard 4096 21 janv. 17:20 gerard
drwx------ 2 root root 4096 16 août 10:30 lost+found
gerard@debian:/home$[/quote]
Oui mais toi, tu es sous Aptosid… ^^

Que te renvoie la commande “umask” ?

EDIT : car je peux te garantir que chez moi (= Debian Squeeze) j’ai accès aux répertoires des autres utilisateurs en lecture seule, j’ai créé une session et j’ai testé.

[quote]gerard@debian:/home$ umask
0022
gerard@debian:/home$
[/quote]

Si vous ne me croyez pas faites un essai
Créer un utilisateur
Essayer de vous connecter sur son home en étant vous même utilisateur

Ceci est la base même de tous les UNIX Linus lui même ne l’a pas inventé :slightly_smiling:

[quote=“ggoodluck47”][quote]gerard@debian:/home$ umask
0022
gerard@debian:/home$
[/quote]

Si vous ne me croyez pas faites un essai
Créer un utilisateur
Essayer de vous connecter sur son home en étant vous même utilisateur

Ceci est la base même de tous les UNIX Linus lui même ne l’a pas inventé :slightly_smiling:[/quote]
Et bien je te dis que j’ai testé et que j’arrive à accéder en lecture seule aux fichiers de “cluxter” à partir du compte “zorro”. J’ai créé une session sous Gnome à partir du panel, je me suis déconnecté de “cluxter”, je me suis connecté sous “zorro” en graphique, et j’ai vu les fichiers. Et sous la console, depuis le compte “zorro”, les répertoires qui se trouvent dans “/home” ont chez moi les droits suivants par défaut : “drwxr-wr-x”.

D’ailleurs c’est exactement la même chose sur mon smartphone Nokia N900.

Donc peut être que Aptosid crée par défaut les comptes avec un mask à 077, mais en attendant ce n’est pas comme ça sous Lenny ou sous Squeeze.

gerard@debian:/home$ umask
0022
gerard@debian:/home$

[quote=“ggoodluck47”]gerard@debian:/home$ umask
0022
gerard@debian:/home$
[/quote]
Et ??

Si la commande qui crée un nouvel utilisateur modifie les droits du répertoire “/home/gerard” après coup, on peut très bien se retrouver avec des droits à “drwx------”, ce qui semble être le cas chez toi. Donc OK l’umask est le même que chez moi, mais pas les droits qui ont été appliqués au répertoire “/home/gerard”.

C’est pas trop les applications le problème, vu que quand tu les lances en tant qu’un utilisateur, tu as les droits pour lire les fichiers de conf de l’utilisateur en question…

C’est plutôt nécessaire pour les services, qui tournent sous d’autres utilisateurs. Il y a le cas de la messagerie cité plus haut. Idem pour apache : si tu veux que les utilisateurs puissent gérer un site web, il faut que l’utilisateur d’apache puisse y lire les fichiers…

C’est aussi utile pour partager des fichiers entre utilisateurs. Après, si tu veux empêcher les autres utilisateurs de pouvoir lire un répertoire (ton home ou un autre), il suffit de faire un chmod 700 dessus et c’est plié… Inversement, si tu es en umask 066, et que tu veux partager un dossier avec plusieurs utilisateurs, il te faut chmod à chaque fois que tu créés un fichier dedans pour permettre aux autres de le lire…

Tout à fait, c’est pour ça que je pense qu’un umask 026 ou 027 est plus logique, puisque dans ce cas il suffira d’ajouter l’utilisateur à un groupe et le fichier qu’on souhaite partager à ce même pour que l’utilisateur puisse facilement y accéder. Et si on veut partager tous ses fichiers perso en lecture avec un utilisateur, il suffira d’ajouter l’utilisateur à notre groupe perso.

Ca me paraît bien plus simple de faire comme ça, c’est même pour ça que les groupes existent d’ailleurs.

Salut,

sur mon ordi,

  • que ce soit sur Squeeze (mais c’était pareil lorsqu’elle était en Lenny)
  • ou que ce soit sur Aptosid

l’UMASK est aussi à 0022 par défaut et aucun utilisateur ne peut, avec ses droits d’utilisateur et à partir de sa session(son /home/utilisateur), accéder même en lecture au /home/autre_utilisateur et ne peut en aucun cas accéder à ses dossiers et fichiers.

Ce qui parait conforme aux principes de fonctionnement de Linux sinon ce serait totalement illogique.

Lorsque on essaie d’y accéder, le message “impossible d’accéder dans le dossier /home/autre_utilsateur” apparait au bas de la fenêtre de Dolphin

Doit y avoir un blème qq part.

[quote=“Tophe”]Salut,

sur mon ordi,

  • que ce soit sur Squeeze (mais c’était pareil lorsqu’elle était en Lenny)
  • ou que ce soit sur Aptosid

l’UMASK est aussi à 0022 par défaut et aucun utilisateur ne peut, avec ses droits d’utilisateur et à partir de sa session(son /home/utilisateur), accéder même en lecture au /home/autre_utilisateur et ne peut en aucun cas accéder à ses dossiers et fichiers.

Ce qui parait conforme aux principes de fonctionnement de Linux sinon ce serait totalement illogique.

Lorsque on essaie d’y accéder, le message “impossible d’accéder dans le dossier /home/autre_utilsateur” apparait au bas de la fenêtre de Dolphin

Doit y avoir un blème qq part.[/quote]

Puisque l’on te dit que c’est aptosid qui change les droits des autres utilisateurs quand tu en créé un nouveau :laughing:

Gérard, tu as raison pour les dossiers natifs, les dossiers cachés.
Mais quand “machin” crée un dossier “mes-photos”, par exemple, dans son /home/machin, nativement, ce dossier sera en 755 et “ricardo”, il peut lire ce dossier :wink:
Je suis en Sid classique.
Exemple plus causant sous un gestionnaire de fichier (konqueror).
Cette capture a été prise en tant que “ricardo” sur le /home de “ric” et tu verras que nombreux sont les dossiers “ouverts au monde” en lecture.
Tout est natif, “ric” avait été créé pour faire des essais.

Salut,

Je ne me sers jamais des “graphiques”, j’en suis resté à la console ! C’est peut-être la raison de ma méfiance envers ces interfaces :slightly_smiling:

Mais entre voir qu’ils sont en 755 et pouvoir les consulter ?

dpkg-reconfigure adduser

répondre à la question par OUI ou NON.
Ce réglage affectera les $HOME produits à l’avenir , les fichiers d’ores et déjà présents sur les anciens $HOME ne seront pas affectés.

[quote=“ricardo”]Gérard, tu as raison pour les dossiers natifs, les dossiers cachés.
Mais quand “machin” crée un dossier “mes-photos”, par exemple, dans son /home/machin, nativement, ce dossier sera en 755 et “ricardo”, il peut lire ce dossier :wink:
Je suis en Sid classique.
[/quote]
Je viens de vérifier à nouveau et cela ne change rien pour moi :
sur mon ordi,

  • que ce soit sur Squeeze (mais c’était pareil lorsqu’elle était en Lenny)
  • ou que ce soit sur Aptosid

l’UMASK est à 0022 par défaut et aucun utilisateur ne peut, avec ses droits d’utilisateur et à partir de sa session(son /home/utilisateur), accéder même en lecture au /home/autre_utilisateur et ne peut en aucun cas accéder à ses dossiers et fichiers.
Que ce soit avec Dolpnin ou Konquerror
Qu’ils soient cachés ou pas, natifs ou créés, les droits sont en 755

On voit bien le dossier “home” de chaque utilisateur dans /home/ mais on peut accéder qu’au sien.
Lorsque on essaie d’accéder au /home d’un autre utilisateur, le message “impossible d’accéder dans le dossier /home/autre_utilsateur” apparait.

Je n’installe que de manière classique et je ne modifie rien d’important par la suite.
À part une histoire de groupe dans kusers lors de la création des utilisateurs je ne vois absolument pas.

La commande « universelle » pour créer un utilisateur sous GNU/Linux est : useradd.
Par défaut, elle ne créé pas le dossier de l’utilisateur, sauf si on utilise l’option -m (dans ce cas le dossier est en 700, donc innaccessible aux autres utilisateurs).
Lorsque l’on créé un utilisateur avec useradd, un groupe du même nom est créé, qui sera le groupe par défaut de l’utilisateur (à moins d’utiliser l’option -g).

La commande adduser varie en fonction des distributions :
Sous archlinux, tous les utilisateurs sont dans le groupe « users » et le home est en 700.
Sous slackware, tous les utilisateurs sont dans le groupe « users » et le home est en 711 (on peut alors accéder à un dossier dont on connait le chemin, mais pas lister le home)
Sous debian, un groupe est créé comme avec useradd, et le home est en 755. Comme le montre etxeberrizahar, on peut lui dire de créer le home en 700. D’après vos posts, ça doit être pareil sous apsoid…

[quote=“Cluxter”]Et si on veut partager tous ses fichiers perso en lecture avec un utilisateur, il suffira d’ajouter l’utilisateur à notre groupe perso.
[/quote]
Sauf que tu ne veux pas forcément partager tous tes fichiers avec certains utilisateurs, mais certains fichiers avec certains utilisateurs et d’autres fichiers avec d’autres…
Tu gardes ton groupe perso pour toi et ton home en 700. Les dossiers partagés peuvent être en dehors du home, avec des groupes définis auxquels on ajoute les utilisateurs qui doivent y avoir accès. On met ses dossiers en setgid pour que les fichiers créés dans ce dossier appartiennent automatiquement au groupe du dossier…
Tout les membres du groupe peuvent alors lire et modifier les fichiers du dossier en question… Tu peux faire un chmod sur tes fichiers si tu ne veux les partager qu’en lecture (ou simplement garder une copie dans ton home auquels les autres n’auront pas accès).
(voir l’exemple de /usr/local/bin sous debian, qui se partage entre membres du groupe staff).

En fait, par défaut c’est bien 755, mais après la manipulation proposée par etxeberrizahar (dpkg-reconfigure adduser) ça passe en 751 (option DIR_MODE dans /etc/adduser.conf, si l’on souhaite mettre autre chose). EDIT : sur Debian Squeeze je précise, peut-être est-ce différent sur les dérivés de Debian.

Je viens de m’apercevoir que je me suis trompé à propos d’useradd. Le dossier créé avec est en 755 par défaut. Sauf si on change la valeur de UMASK dans /etc/login.defs (ce qui est le cas sous archlinux, d’où mon erreur).

Attention, cette valeur est lue aussi par login(1), si on veut utiliser un umask différent pour le shell il faudra le mettre dans /etc/profile :

Merci pour vos réponses, je ne suis donc pas fou ou le seul dans ce cas !

Je viens de retester avec “adduser” et j’ai bien les droits à 755 sur le répertoire du nouvel utilisateur. Et la commande “# dpkg-reconfigure adduser” était bien positionnée sur “Oui”.

N’empêche que je ne trouve pas ça très secure… Je trouve que ça aurait été plus logique de faire l’inverse, ie. empêcher la lecture par défaut pour le reste du monde.

Et c’est pareil pour l’umask, le mettre à 022 au lieu de 027 ne me semble pas malin.

En attendant on ne sait toujours pas pourquoi la team de Debian a fait un tel choix, donc si quelqu’un en sait plus, n’hésitez pas :wink:

[quote]Tu gardes ton groupe perso pour toi et ton home en 700. Les dossiers partagés peuvent être en dehors du home, avec des groupes définis auxquels on ajoute les utilisateurs qui doivent y avoir accès. On met ses dossiers en setgid pour que les fichiers créés dans ce dossier appartiennent automatiquement au groupe du dossier…
Tout les membres du groupe peuvent alors lire et modifier les fichiers du dossier en question… Tu peux faire un chmod sur tes fichiers si tu ne veux les partager qu’en lecture (ou simplement garder une copie dans ton home auquels les autres n’auront pas accès).[/quote]
C’est une solution, mais si on souhaite que chaque utilisateur garde ses fichiers dans son “/home” et n’écrive pas ailleurs (pour X raisons), dans ce cas il faut autoriser l’accès du “/home/user” à un groupe en lecture seule, puis créer un répertoire comme tu l’as dit dans ce home. Après ça dépend des besoins en fait.

Ce n’est pas ce que j’ai dit.

Ben je pense que Kna a parfaitement décrit tout :023
@ Gérard : un fichier en 755 est obligatoirement visible de tous

salut.

juste une question: on peut bien changer la valeur umask par défaut dans le fichier /etc/profile?

J’allais dire qu’ils ont suivi le comportement des coreutils. Mais en recherchant, useradd ne fait pas parti des coreutils, mais des « shadow tools », qui semblent développés par… debian !
pkg-shadow.alioth.debian.org/

Je pense que ce choix est fait, comme on en parlait au début du topic, pour permettre facilement d’utiliser des services qui doivent pouvoir lire dans le dossier de l’utilisateur. Par exemple, le userdir d’apache fonctionne « out-of-the-box » une fois activé.

[quote=“Cluxter”]C’est une solution, mais si on souhaite que chaque utilisateur garde ses fichiers dans son “/home” et n’écrive pas ailleurs (pour X raisons), dans ce cas il faut autoriser l’accès du “/home/user” à un groupe en lecture seule, puis créer un répertoire comme tu l’as dit dans ce home. Après ça dépend des besoins en fait.
[/quote]
Disons que la logique par défaut, c’est que chaque dossier personnel est… personnel, mais que chaque utilisateur peut lire, mais pas écrire dans les dossiers des autres.
Ainsi, c’est suffisant pour les partages en lecture seule, et ça n’empêche pas de protéger un dossier dont on veut interdire la lecture (un utilisateur peut chmod ses propres dossiers).
EDIT : d’ailleurs, certaines applications le font pour leurs dossiers/fichiers. Par exemple ~/.ssh est en 700.
Pour les partages en lecture/écriture, il n’ont a priori rien à faire dans un répertoire personnel, et c’est là que les groupes trouvent leur utilité.

Maintenant, comme tu le dis, ça dépend des besoins, et tout ça est configurable. L’essentiel est que chacun puisse l’adapter à ses besoins et c’est le cas. Note que si tu as besoin d’avoir une gestion plus fine des droits utilisateurs, tu peux utiliser les ACL : lea-linux.org/documentations/ind … on_des_ACL

[quote=“marcastro”]juste une question: on peut bien changer la valeur umask par défaut dans le fichier /etc/profile?
[/quote]
Oui !

Passer par /etc/login.defs peut être un choix intéressant, vu que c’est lu par tous les shadow-utils (useradd, login,…). À tester !