Erstellen von Verzeichnissen und Dateien in /Library unter OS X 10.8

Erstellen von Verzeichnissen und Dateien in /Library unter OS X 10.8

Ich möchte Dateien unter OS-X 10.8 in /Library/Python/2.7/site-packages installieren. Ich bin als Administrator angemeldet, erhalte aber trotzdem die Fehlermeldung „Zugriff verweigert“. Derselbe Fehler tritt auf, wenn ich versuche, dort vom Terminal aus ein Verzeichnis zu erstellen. Ich habe anscheinend keine Berechtigung, in den Stammbereich zu schreiben. Wie behebe ich das?

Antwort1

Wenn Sie bei MacOSX als „Administrator“ angemeldet sind, haben Sie die Berechtigung, bestimmte privilegierte Befehle auszuführen, sind aber nicht Root (Benutzer-ID 0 – Superuser). Das Python-Verzeichnis und fast alles unter /Library gehört nur Root und ist nur für diesen beschreibbar: Beispiel:

mymac:Python kentalt$ ls -l
total 0
drwxr-xr-x  3 root  wheel  102 Jun 20  2012 2.3
drwxr-xr-x  3 root  wheel  102 Jun 20  2012 2.5
drwxr-xr-x  3 root  wheel  102 Jun 20  2012 2.6
drwxr-xr-x  3 root  wheel  102 Jun 20  2012 2.7
mymac:Python kentalt$ touch foo
touch: foo: Permission denied

Administratoren können sudo verwenden (einen Befehl als Root-Benutzer ausführen) mit Ihren Administratorkennwörtern:

mymac:Python kentalt$ sudo touch foo
Password:
mymac: Python kentalt$ ls -l
total 0
drwxr-xr-x  3 root  wheel  102 Jun 20  2012 2.3
drwxr-xr-x  3 root  wheel  102 Jun 20  2012 2.5
drwxr-xr-x  3 root  wheel  102 Jun 20  2012 2.6
drwxr-xr-x  3 root  wheel  102 Jun 20  2012 2.7
-rw-r--r--  1 root  wheel    0 Jan 10 08:57 foo

Beachten Sie, dass Sie bei jedem dieser Befehle „sudo“ verwenden müssen (wenn Sie mehrere dieser Befehle in kurzer Zeit ausführen, werden Sie nicht jedes Mal nach Ihrem Passwort gefragt):

mymac:Python kentalt$ rm foo
override rw-r--r--  root/wheel for foo? y
rm: foo: Permission denied
mymac:Python kentalt$ sudo rm foo
mymac:Python kentalt$ ls
2.3 2.5 2.6 2.7

Sie können auch die Verzeichnisberechtigungen ändern, um Gruppen oder allen das Schreiben zu erlauben, anstatt alle Wartungsarbeiten als Root durchzuführen. Beachten Sie jedoch, dass Berechtigungsänderungen einige Programme beschädigen oder bei Systemaktualisierungen rückgängig gemacht werden können, obwohl Python wahrscheinlich kein Problem darstellt. Oder fügen Sie einen symbolischen Link für Site-Pakete zu einer anderen Stelle im benutzerbeschreibbaren Bereich hinzu, damit Sie Ihre Aktualisierungen klar von systemunterstützten Dateien trennen.

Sie können „sudo bash“ verwenden, um eine Shell-Sitzung als Root zu starten. Dies ist wirklich sehr gefährlich, da Root praktisch alles tun kann und möglicherweise nicht einmal eine Plausibilitätsprüfung erfordert, bevor das gesamte System entfernt wird, z. B. „rm -rf . /*“ (ein Tippfehler, den jeder alte Unix-Administrator mindestens einmal gemacht hat).

verwandte Informationen