Pourquoi umask 077 ne permet-il pas à l'utilisateur d'exécuter des fichiers / répertoires?


10

J'utilise umask 077. "Other" et "group" n'ont aucun droit, mais l'utilisateur ne peut pas exécuter de fichiers / répertoires. Pourquoi umask 077 ne permet-il pas au propriétaire d'exécuter des fichiers / répertoires?

Réponses:


6

Lorsque vous utilisez l'un umaskde 077, seul l'utilisateur dispose des autorisations de lecture, d'écriture et d'exécution. L'utilisateur pourra certainement ouvrir ('exécuter') des répertoires (voir plus sur les raisons pour lesquelles les répertoires doivent être exécutables dans ma réponse ici ). Cependant, les fichiers doivent toujours être rendus exécutables en entrant chmod u+x myfile; ils ne sont jamais automatiquement exécutables. Des informations plus utiles sur umasksont données dans cette réponse:

La possibilité probable de vos problèmes est que vous avez peut-être entré la valeur légèrement incorrectement, ce qui a entraîné un umask différent, ou que la valeur n'a pas été définie de manière permanente. Si vous entrez umask 077dans le terminal, il ne sera valable que pour cette session du terminal; pour le rendre permanent pour votre utilisateur, ajoutez simplement umask 077à votre ~/.profile. Le paramètre par défaut du système pour umaskest dans /etc/login.defs; il utilisé pour être /etc/profile. Voir aussi la page de manuel de pam_umask, qui est un module pam qui gère l'attribution de umask.

Les exemples suivants proviennent d'un environnement réussi umask 077:

1) Pour la création de dossier : mkdir doccoché avec a stat docdonné les autorisations correctes et un dossier «exécutable»:

File: `doc'
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: 801h/2049d  Inode: 6425268     Links: 2
Access: (0700/drwx------)  Uid: ( 1000/    mike)   Gid: ( 1000/    mike)
Access: 2012-09-12 11:33:01.236675420 +0100
Modify: 2012-09-12 11:33:01.236675420 +0100
Change: 2012-09-12 11:33:01.236675420 +0100
 Birth: -

2) Pour la création de fichiers : touch newcoché avec a stat newdonné les autorisations correctes; le fichier n'est rendu exécutable que lorsque vous utilisez chmod +x:

File: `new'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d  Inode: 6303902     Links: 1
Access: (0600/-rw-------)  Uid: ( 1000/    mike)   Gid: ( 1000/    mike)
Access: 2012-09-12 11:34:58.272676270 +0100
Modify: 2012-09-12 11:34:58.272676270 +0100
Change: 2012-09-12 11:34:58.272676270 +0100

Un umaskde 077 donnera les autorisations indiquées, mais si vous avez toujours des problèmes avec les autorisations après avoir umask 077correctement configuré (comme discuté plus haut ci-dessus), nous pouvons approfondir les choses.


5

La valeur umask sera utilisée pour modifier de manière appropriée le masque fm par défaut pour les autorisations de fichier (autorisation de base 0666) et le masque dmask pour les autorisations de répertoire / dossier (autorisation de base 0777).

Les valeurs effectives de fmask et dmask seront calculées en déduisant la valeur umask (calculs octaux).

Ainsi, un umask 0022 entraînerait fmask pour obtenir une valeur 0644 (ie 0666 - 0022) tandis que dmask serait 0755 (ie 0777 - 0022).

L' umask 0077 empêche la création de fichiers avec n'importe quel accès non seulement au monde (indiqué par le dernier chiffre octal) mais aussi aux membres de votre groupe (indiqué par l'avant dernier chiffre octal).

Référence:


plus je lis ceci, plus je ne le comprends pas. Y a-t-il une explication pour le gars novice qui veut seulement faire de petits changements sans en savoir plus
GusDeCooL
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.