Question Pourquoi chmod a-t-il deux significations différentes pour 5? [fermé]


Je pense que je comprends assez bien les autorisations de fichiers, mais il y a un ensemble spécifique de permissions qui comporte un élément que je ne comprends pas.

Le jeu de permissions 0755 devrait afficher comme rwx-rx-rx

Mais dans mon terminal 0755 montre comme rwx-rx-x

Pourquoi le 5 dans la position "Autre / Monde" apparaît-il uniquement comme étant exécuté alors que la permission "Groupe" est 5, mais s'affiche en lecture / exécution?

J'ai cherché Googled pour la réponse, mais chaque question similaire que j'ai trouvée a été répondue avec une explication de la table de permission, mais n'a jamais abordé les deux valeurs différentes de 5.


0
2017-07-17 14:42


origine


Vos expressions de permission sont erronées. - heemayl
Cela semble difficile à croire. Pourrais tu s'il te plait modifier votre question pour inclure la sortie textuelle de stat -c '%A %a %n' FILE (où FILE est un fichier avec le masque d'autorisation approprié, e. g. /)? - David Foerster


Réponses:


Les valeurs d'autorisation sont en octal et représentent 3 champs de 3 bits. 5 n'a qu'une valeur 0b101. Les autorisations que vous tentez de définir sont masquées avec votre umask valeur, qui, je suppose est 026 C'est:

Value you're trying to set: 755 or 0b111101101
Umask                       026 or 0b000010110
-----------------------------------------------
Actual bits used by `chmod` 751 or 0b111101001
Going back to rwx, the bits are      rwxrwxrwx
And the actual permissions set are   rwxr-x--x

Voir man umask.

Les trois chiffres de l'autorisation (il y en a quelques-uns mais c'est le cours avancé) spécifient les droits d'accès au fichier du propriétaire du fichier (premier chiffre octal), les utilisateurs ayant le même identifiant (deuxième octal) et tout le monde ( pas le propriétaire, pas le même identifiant de groupe (troisième chiffre octal).


2
2017-07-17 15:02