3 votes

chmod désactive toujours le bit setgid sur les répertoires si je ne suis pas dans un groupe

Voici le scénario : j'utilise Ubuntu Linux (12.10, si cela a de l'importance), et j'ai un répertoire dont les permissions sont ainsi :

drwxrws--- paul www-data    myfolder/

Vous pouvez voir le setgid est activé. Si je modifie les permissions sur ce dossier (par exemple, chmod o+x myfolder ), il désactive le setgid bit.

Según chmod de la page de manuel :

chmod préserve l'identité du répertoire set-user-ID y set-group-ID bits, sauf si vous spécifiez explicitement le contraire.

Ailleurs, il est dit qu'il désactive la fonction setgid si le groupe du fichier ne correspond pas à l'ID du groupe effectif de l'utilisateur. régulier les fichiers (c'est-à-dire pas les dossiers). Ainsi, parce que mon groupe est paul plutôt que www-data Je m'attendrais à ce que ce qui précède se produise si myfolder/ était un fichier ordinaire, mais ce n'est pas le cas c'est un répertoire.

Donc soit je comprends mal le manuel, soit chmod n'obéit pas à ses propres instructions. Quelqu'un sait-il lesquelles ?

0voto

mariux Points 135

Il est expliqué dans la même section que vous avez déjà citée de la page de manuel de chmod

BITS SETUID ET SETGID

[...]

Ce comportement dépend de la politique et la fonctionnalité de l Appel système chmod sous-jacent . En cas de doute, vérifiez le comportement du système sous-jacent.

Lors du traçage chmod il essaie d'activer le bit setgid mais le sous-jacent chmod() l'appel système l'ignore.

fchmodat(AT_FDCWD, "b", 02755)          = 0

Comme vous le voyez S_ISGID (02000) est fixé par le chmod mais pas par la commande chmod() [ici : fchmodat() ] systemcall :

drwxr-xr-x 2 me notmygrp 16 Mar 19 12:37 b

Ainsi, la suppression du bit setgid est également valable pour les répertoires si vous n'êtes pas membre du groupe.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X