Quel est le premier chiffre de la notation de permission de fichier Unix octale à 4 chiffres?

40

3 chiffres:

644
ugo (user group other)

4 chiffres:

0644
?ugo (??? user group other)

Quel est le premier chiffre octal dans la notation d'autorisation de fichier Unix octale à 4 chiffres?

Steven T. Snyder
la source

Réponses:

48

De man chmod:

Un mode numérique comprend de un à quatre chiffres octaux (0 à 7), obtenus en additionnant les bits de valeur 4, 2 et 1. Tous les chiffres omis sont considérés comme des zéros en tête. Le premier chiffre sélectionne l'ID utilisateur défini (4) et les attributs d'ID groupe (2) et collant (1).

Qu'est-ce que "set user ID", "set group ID" et "post-it", demandez-vous?

setuid / setgid :

setuid et setgid (abréviation de "définir l'ID utilisateur lors de l'exécution" et "définir l'ID groupe lors de l'exécution", respectivement) sont des indicateurs de droits d'accès Unix permettant aux utilisateurs d'exécuter un exécutable avec les autorisations du propriétaire ou du groupe de l'exécutable. Ils sont souvent utilisés pour permettre aux utilisateurs d’un ordinateur d’exécuter des programmes avec des privilèges temporairement élevés afin de réaliser une tâche spécifique. Bien que les privilèges fournis d’identificateur d’utilisateur ou d’identificateur de groupe fournis ne soient pas toujours élevés, ils sont au moins spécifiques.

De plus, lorsqu’il est appliqué à un répertoire, setuid / setgid fait en sorte que les nouveaux fichiers créés dans ce répertoire héritent respectivement de l’identifiant unique ou de l’identifiant principal (gid) du répertoire parent. Ce comportement varie en fonction de la version de Unix. Par exemple, Linux honore le setgid, mais ignore le setuid sur les répertoires.

Et collant :

L'utilisation la plus courante du truc collant aujourd'hui concerne les répertoires. Lorsque le bit de blocage est défini, seul le propriétaire de l'élément, le propriétaire du répertoire ou le superutilisateur peut renommer ou supprimer des fichiers. Sans le sticky bit défini, tout utilisateur disposant des autorisations d'écriture et d'exécution sur le répertoire peut renommer ou supprimer des fichiers contenus, quel que soit le propriétaire. Généralement, cela est défini dans le répertoire / tmp pour empêcher les utilisateurs ordinaires de supprimer ou de déplacer les fichiers d'autres utilisateurs.

Bricoleur5
la source
12

Setgid a une autre fonction très importante sur laquelle je m'appuie quotidiennement, mais qui n'est pas incluse dans l'extrait de Handyman5 (la citation est tirée de la même page que ci-dessus):

Les indicateurs setuid et setgid, lorsqu'ils sont définis sur un répertoire, ont une signification totalement différente.

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 dans ce répertoire héritent de son ID groupe, plutôt que de l’ID groupe principal de l’utilisateur qui a créé le fichier (l’ID propriétaire n’est jamais affecté, seule la identifiant de groupe). Les sous-répertoires nouvellement créés héritent du bit setgid.

Cela permet donc de créer un espace de travail partagé pour un groupe sans avoir à demander aux membres du groupe de modifier explicitement leur groupe actuel avant de créer de nouveaux fichiers ou répertoires. Notez que la définition de l'autorisation setgid sur un répertoire affecte uniquement l'ID de groupe des nouveaux fichiers et sous-répertoires créés après la définition du bit setgid, et n'est pas appliquée aux entités existantes. La définition du bit setgid sur les sous-répertoires existants doit être effectuée manuellement, à l'aide d'une commande telle que:

[root@foo]# find /path/to/directory -type d -exec chmod g+s {} \;

chmod g+ssignifierait l'ajout d'un 2 sur l'avant de la valeur octale, ce qui rend un répertoire qui a 775 permissions ( drwxrwxr-x) sur 2775 ( drwxrwsr-x).

Jay Allen
la source
2
FYI: MacOS X se comporte comme si le bit SGID était toujours activé dans un répertoire.
Jonathan Leffler
4

En plus des autres réponses, un 0 initial est une convention utilisée pour dire qu'un nombre est octal. Ce n'est pas nécessaire ici car les permissions sur les fichiers sont toujours exprimées en octal, mais cela peut être une raison supplémentaire pour laquelle il est présent.

jlliagre
la source
2

Voici un calculateur d’autorisations Limux / Unix facile à utiliser pour vous aider à comprendre les autorisations d’un fichier ou d’un répertoire.

Vegasbrianc
la source
Il suffit de poster des liens qui fronce les sourcils. Vous devez publier le contenu pertinent, puis citer votre source.
MDMarra
Noted veillera à ce que les publications à venir soient correctement formatées
vegasbrianc