Sie können Ihre ändern umask
, um (für die meisten Implementierungen) mehr Lese- / Schreibrechte zuzulassen, die jedoch nicht ausführbar sind, da im Allgemeinen die angeforderten Berechtigungen vorliegen 0666
.
Wenn dies der Fall umask
ist 022
, wird touch
eine 0644
Datei erstellt.
Interessanterweise beschreibt POSIX dieses Verhalten in Bezug auf creat
:
Wenn die Datei nicht existiert:
Die Funktion creat () wird mit folgenden Argumenten aufgerufen:
Der Dateioperand wird als Pfadargument verwendet.
Der Wert des bitweise-inclusive OR von S_IRUSR
, S_IWUSR
, S_IRGRP
, S_IWGRP
, S_IROTH
, und S_IWOTH
wird als Argument Modus verwendet.
und nur durch Verfolgen der Links zu creat
, dann zu open
, Feststellen der Erwähnung umask
und Zurückverfolgung zu open
(und creat
), um zu überprüfen, ob dies umask
Auswirkungen haben soll touch
.
Um umask
nur den touch
Befehl zu beeinflussen , verwenden Sie eine Subshell:
(umask 066; touch private-file)
(umask 0; touch world-writable-file)
touch file-as-per-current-umask
(Beachten Sie, dass in jedem Fall, wenn die Datei zuvor vorhanden war, touch
die Berechtigungen nicht geändert werden, sondern nur die Zeitstempel aktualisiert werden.)