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.

Danny
quelle
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.

Chutz
quelle
Erklärung des 0755 Bit support.hostgator.com/articles/cpanel/...
Micah Stubbs
4

Probier diese:

mkdir -p data/db

Kein Schrägstrich vor dem data

Yanek
quelle
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.

bel
quelle