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
Am Ende habe ich meinem
.bashrc
Konfigurationsskript Folgendes hinzugefügt :quelle
wie wäre es mit:
quelle
Mit Ihrem .bashrc
quelle
sudo
nicht wirklich (neu) bezieht.bashrc
, sondern die aktuelle Einstellung von dem Benutzer erbt, der sudo aufgerufen hat.Für den Datensatz: Die aktuelle Version von sudo als neue Option 'umask_override', die verhindern soll, dass die umask zusammengeführt werden, sodass Sie auch die umask senken können sollten. Leider scheint Mac OS X 10.6.6 diese Version von sudo nicht zu bieten ...
quelle