web-dev-qa-db-fra.com

S majuscule dans les autorisations d'un dossier

Que signifie la lettre S ci-dessous? Le fichier en question est un dossier.

 enter image description here

J'ai lu ici qu'un S majuscule peut représenter que le bit setgid est actif pour un exécutable binaire . Mais c'est un dossier. Cela signifie-t-il toujours que le bit setgid est activé pour cela? Si oui, qu'est-ce que cela signifie?

48

Cela signifie que tout fichier déposé dans le dossier prendra le groupe propriétaire du dossier.

Par exemple: Supposons que vous ayez un dossier appelé "partagé" qui appartient à l'utilisateur "intrpc" et au groupe "utilisateurs", et que vous (en tant qu'utilisateur "initrpc") y déposiez un fichier. Par conséquent, le fichier appartiendra à l'utilisateur "intrpc" et au groupe "users", indépendamment du groupe principal "initrpc".

Sur la plupart des systèmes, si le bit set-group-ID d'un répertoire est défini, les sous-fichiers nouvellement créés héritent du même groupe que le répertoire et les sous-répertoires nouvellement créés héritent du bit set-group-ID du répertoire parent.

Vous pouvez en lire plus ici .

Pourquoi la lettre est-elle en majuscule (à partir du lien que vous avez donné)?

setgid n'a aucun effet si le groupe n'a pas d'autorisations d'exécution. setgid est représenté par un "s" minuscule dans la sortie de ls. Dans les cas où il n'a aucun effet, il est représenté par un "S" majuscule.

41
Hanan N.

Le S majuscule est dû au fait que le répertoire n'a pas d'autorisations d'exécution pour le groupe. D'une certaine manière, cela indique une "erreur", comme vous le dites:

les sous-fichiers nouvellement créés héritent du même groupe que le répertoire et les sous-répertoires nouvellement créés héritent du bit set-group-ID du répertoire parent.

(source: https://www.gnu.org/software/coreutils/manual/html_node/Directory-Setuid-and-Setgid.html )

Cependant, vous refusez l'autorisation pour les membres du groupe d'entrer dans le répertoire.

13
Not Now

https://en.wikipedia.org/wiki/Setuid#When_set_on_a_directory

La définition de l'autorisation setgid sur un répertoire ("chmod g + s") fait en sorte que les nouveaux fichiers et sous-répertoires créés en son sein héritent de son ID de groupe, plutôt que l'ID de groupe principal de l'utilisateur qui a créé le fichier (l'ID du propriétaire n'est jamais affecté, uniquement l'ID du groupe).

https://www.gnu.org/software/coreutils/manual/html_node/What-information-is-listed.html#What-information-is-listed

‘S’ Si le bit set-user-ID ou set-group-ID et le bit exécutable correspondant sont tous deux définis.

‘S’ Si le bit set-user-ID ou set-group-ID est défini mais que le bit exécutable correspondant ne l'est pas.

0
Roland