Berechtigung für mkdir auf Mac verweigert


Antworten:


21

Versuchen Sie diesen Befehl:

sudo mkdir -p /data/db

sudo führt den Befehl mit höheren Berechtigungen aus und fragt nach Ihrem Kennwort, bevor der Befehl ausgeführt werden kann.


Ok cool, wenn ich jetzt "db" in Spotlight eingebe, wird es gefunden ... aber wie wäre es mit der Kommandozeile? Wie navigiere ich zu diesem Ordner im Terminal? In DOS könnten wir zum Beispiel CD \ DB
Blake

Es ist immer noch CD unter Linux, also cd / data / db Um den Inhalt des Verzeichnisses anzuzeigen, das Sie ls anstelle von dir verwenden möchten, also ls / data / db
Danny

1
Was ist, wenn wir kein Sudo verwenden möchten? Wird es in Zukunft Berechtigungsfehler mit mongodb geben?
Connor Leech

11

Sie haben keine Berechtigung zum Erstellen des Verzeichnisses. Wenn Sie versuchen, dies als Ihr eigener Benutzer auszuführen, und wie ich vermute, /data/dbirgendwo fest codiert ist, sollten Sie dazu in der Lage sein

sudo install -m 0755 -o $USER -d /data/db

Dadurch werden Superuser-Berechtigungen ( sudo) verwendet, um zwei Verzeichnisse ( /data, und /data/db) zu erstellen . /data/dbwürde dem von -o- you ( $USER) angegebenen Benutzer gehören und über 0755Berechtigungen verfügen - Eigentümer mit vollständigen Berechtigungen und schreibgeschütztem Zugriff für alle. Wenn die übergeordneten Verzeichnisse fehlen, werden sie erstellt und gehören root (es können keine Dokumente dazu gefunden werden, aber Experimente bestätigen dies).

Ich schlage vor, dass Sie dies auf diese Weise tun, da der Rest der Anweisungen weiterhin als Ihr eigener Benutzer ausgeführt wird.



4

Probier diese:

mkdir -p data/db

Kein Schrägstrich vor dem data


Das hat für mich gesagt. Es erstellt / data / db unter dem aktuellen Arbeitsverzeichnis.
Meruemu


0

Hatte das gleiche Problem auf Mac OS X. Ich löste dies durch die Ausführung sudo -p mkdir data, cd dataund danach sudo -p mkdir db. Viel Glück.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.