Ich habe kürzlich ein Upgrade auf Snow Leopard durchgeführt. Ich habe festgestellt, dass einige von MacPorts geschriebene Dateien mit der falschen Berechtigung installiert wurden - sie wurden mit einer Umask von 0077 geschrieben. Ich glaube, ich habe das Problem eingegrenzt:
- Der
port
Befehl wird über aufgerufensudo
. - Meine
.bashrc
Datei gibt eine Umask von 0077 an. - In älteren Versionen von OS X (10.5 und niedriger) verwendete sudo die Umask des Root- Benutzers (0022). Jetzt wird jedoch meine Umask von 0077 verwendet.
Gibt es sowieso sudo
das alte Verhalten zu nutzen? Gerade jetzt, es ist ein bisschen ärgerlich , weil ich verwende, um sudo
einfache Befehle wie auszuführen port installed
, port outdated
usw.
(Das Problem wird in diesem MacPorts-Ticket ausführlicher beschrieben .)
Bearbeiten
Ich habe die umask
Option für sudo entdeckt und /etc/sudoers
die folgende Zeile hinzugefügt:
Defaults umask=0022
Dies funktionierte jedoch nicht wie gewünscht, da die von verwendete echte Umask sudo
die Vereinigung der Benutzermaske mit dieser Standardmaske ist. Um das Verhalten von sudo
's umask zu überschreiben und den Standard direkt zu verwenden (dh nicht die Vereinigung des Benutzers und der Standard-Sudo-Maske), kann Folgendes hinzugefügt werden:
Defaults umask_override