umask 0002

Ich bin ein großer Fan dieser umask, den Sie ermöglicht in Zusammenarbeit mit dem sgid-bit eine fast beliebige Rechtevergabe im POSIX-Netzwerk ohne ACL’s einsetzen zu müssen.

Egal ob man private Gruppen oder sonstige vertrauenswürdige Gruppen erschafft – ein Datenaustausch auf einer lokalen Workstation oder im NFS-Netzwerk ist zu 95% konfigurierbar.

Während man auf fast allen UNIX Plattformen eine globale umask 0002 in /etc/profile einträgt, muss man auf Mac OS X eine XML-basierende Property Datei ändern, und zwar mit

defaults write /Library/Preferences/.GlobalPreferences NSUmask 2

Hinweise:

  • Bei allen nicht-root Usern muß natürlich sudo vorangestellt werden
  • Der letzte Pfadteil (.GlobalPreferences) wird ohne den Suffix .plist angegeben.
  • Nach NSUmask kommt der typische Oktalwerk des Rechtesystems

4 Gedanken zu „umask 0002“

  1. Unter Mac OS X 10.5 aka Leopard funktioniert NSUmask nicht mehr.

    Stattdessen muss die Datei /etc/launchd.conf bearbeitet oder angelegt werden.

    Dort muss der Eintrag umask 002 eingetragen werden.

  2. Auch unter openSuSE 11.0 hat sich etwas geändert.

    Man kann wohl noch innerhalb der /etc/profile den Eintrag vornehmen (steht noch legacy kommentar drin) – der eigentlich Platz für diese Angabe befindet sich jetzt aber unter:

    /etc/login.defs

  3. Seit Mac OS X 10.5.3 in abwärtskompatibler Form, spätestens seit Mac OS X 10.6 aka Snow Leopard Pflicht, wird eine customized umask nun
    in der Datei

    /etc/launchd-user.conf

    eingetragen (derselbe Inhalt wie früher /etc/launchd.conf)

  4. In Mac OS X Yosemite (10.10) entfällt die o.g. Methode über launchd-user.conf.
    Bis zur Version 10.10.3 gab es tatsächlich überhaupt keine Möglichkeit eine globale umask zu setzen – nicht mal lokal, abgesehen von Konsolenprogrammen die einen lokalen Eintrag der ~/.profile respektierten.
    Erst ab 10.10.3 gibt es wieder ein globales Kommando

    sudo launchctl config user umask 002

    stellt den gewohnten Zustand wieder her.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.