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?
Lorsque vous utilisez l'un umask
de 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 umask
sont 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 077
dans 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 umask
est 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 doc
coché avec a stat doc
donné 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 new
coché avec a stat new
donné 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 umask
de 077 donnera les autorisations indiquées, mais si vous avez toujours des problèmes avec les autorisations après avoir umask 077
correctement configuré (comme discuté plus haut ci-dessus), nous pouvons approfondir les choses.
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).