Il semble que chaque fois que je crée un fichier, touch
les autorisations sont définies sur: -rw-r - r-- .
Existe-t-il un moyen de configurer les autorisations avec touch
ou faut-il le faire ensuite avec une autre commande?
la source
Il semble que chaque fois que je crée un fichier, touch
les autorisations sont définies sur: -rw-r - r-- .
Existe-t-il un moyen de configurer les autorisations avec touch
ou faut-il le faire ensuite avec une autre commande?
Vous pouvez modifier votre umask
pour autoriser (pour la plupart des implémentations) plus de privilèges de lecture / écriture, mais non exécutables, car généralement les autorisations demandées le sont 0666
.
Si umask
c'est le cas 022
, vous verrez touch
créer un 0644
fichier.
Fait intéressant, POSIX décrit ce comportement en termes de creat
:
Si le fichier n'existe pas:
La fonction creat () est appelée avec les arguments suivants:
L'opérande de fichier est utilisé comme argument de chemin.
La valeur du bit à bit compris OU de
S_IRUSR
,S_IWUSR
,S_IRGRP
,S_IWGRP
,S_IROTH
, etS_IWOTH
est utilisé comme argument de mode.
et ce n'est qu'en suivant les liens vers creat
, puis vers open
, en remarquant la mention umask
et le back-tracking vers open
(et creat
) pour vérifier que cela umask
est censé affecter touch
.
Pour umask
n'affecter que la touch
commande, utilisez un sous-shell:
(umask 066; touch private-file)
(umask 0; touch world-writable-file)
touch file-as-per-current-umask
(notez que dans tous les cas, si le fichier existait auparavant, touch
ne changera pas ses permissions, il suffit de mettre à jour ses horodatages).
Vous pouvez manipuler le umask
. Généralement, il est défini sur 022
ce qui signifie que lorsqu'un utilisateur crée un fichier, il obtiendra l'autorisation de 0644
, vous pouvez manipuler umask
selon vos besoins.