Ihre spezifische Situation
In Ihrer speziellen Situation können wir vermuten, dass Ihr aktueller umask
ist 002
(dies ist ein üblicher Standardwert) und das erklärt Ihre Überraschung.
In dieser speziellen Situation, in der umask
Wert ist 002 (alle Zahlen oktal).
+r
bedeutetugo+r
weil002 & 444
ist000
, wodurch alle Bits gesetzt werden können+x
bedeutetugo+x
weil002 & 111
ist000
, wodurch alle Bits gesetzt werden können- aber
+w
bedeutetug+w
weil002 & 222
ist002
, was verhindert, dass das "o"-Bit gesetzt wird.
Andere Beispiele
- Mit
umask 022
+w
würdeu+w
bedeuten . - Mit
umask 007
+rwx
würdeug+rwx
bedeuten . - Mit
umask 077
+rwx
würdeu+rwx
bedeuten .
Was Ihren Erwartungen entsprochen hätte
Wenn Sie umask
ändern bis 000
, indem Sie
umask 000
in Ihrem Terminal, dann
chmod +w file
setzt Berechtigungen auf ugo+w.
Randbemerkung
Beachten Sie, wie von ilkkachu vorgeschlagen, dass umask 000
bedeutet nicht, dass jeder alle Ihre Dateien lesen und schreiben kann.
Aber umask 000
bedeutet jeder, der Zugriff auf beliebige hat Benutzerkonto auf Ihrer Maschine (das Programme enthalten kann, auf denen Serverdienste ofc ausgeführt werden) kann alle Dateien lesen und schreiben, die Sie mit dieser aktiven Maske erstellen, und sie nicht ändern (wenn die enthaltende Kette von Verzeichnissen bis zum Stammverzeichnis dies auch zulässt).
Mit:
chmod +<perms>
die Berechtigungen werden zu Benutzer hinzugefügt , Gruppe und Sonstiges aber mit der umask, die immer noch gilt. Es stellt sicher, dass der Datei nicht mehr Berechtigungen gewährt werden als einer neu erstellten Datei.
Wenn Sie die Berechtigungen zu Benutzer hinzufügen möchten , Gruppen und Sonstiges Verwenden Sie unabhängig von der umask
chmod a+<perms>
was kurz für
istchmod ugo+<perms>