it-swarm.com.de

Festlegen von Lese- / Schreibberechtigungen für den Mongodb-Ordner

Ich habe gerade die Installation von MongoDB unter OSX beendet und eine Verzeichnisstruktur mit Sudo mkdir -p /data/db Erstellt.

Wenn ich versuche, mongod von meinem Benutzerkonto aus auszuführen, wird ein Fehler zurückgegeben, der besagt, dass mein Benutzerkonto keine Lese-/Schreibberechtigung für /data/db Besitzt.

Wie kann ich die richtigen Lese-/Schreibberechtigungen für mein Konto für /data/db Festlegen?

30
Zoltan King

Stellen Sie sicher, dass das Benutzerkonto, unter dem mongod ausgeführt wird, über die richtigen Verzeichnisberechtigungen verfügt. Sie können überprüfen, welche Berechtigungen wie folgt festgelegt sind:

ls -ld /data/db/

Wenn sie richtig eingestellt sind, sollten sie ungefähr so ​​aussehen.

drwxr-xr-x X user wheel XXX Date Time /data/db/

Wenn die Berechtigungen falsch eingestellt sind, wird wahrscheinlich ein ähnlicher Fehler angezeigt, wenn Sie versuchen, mongod auszuführen.

exception in initAndListen: XXXXX Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating

Um die Berechtigungen wie gewünscht festzulegen, können Sie den folgenden Befehl ausführen

Sudo chmod 0755 /data/db && Sudo chown $USER /data/db
73
davidcondrey
Sudo chmod 777 /data/db/ 

Sollte auf dem Mac funktionieren. Bevor Sie dieses Cmd ausführen, sehen die Berechtigungen wie folgt aus

drwxr-xr-x  X User  wheel  Date /data/db

nach dem Ausführen der cmd

drwxrwxrwx  X User  wheel  Date /data/db
9
getSantsoh

Das hat bei mir funktioniert. Ich benutze einen Mac, obwohl Sie versuchen könnten, wenn Sie Windows verwenden.

Sudo chmod 777 /data/db
5
Tim Anishere

Es gibt drei Kategorien von Benutzern: Eigentümer, Mitglieder der Gruppe und alle anderen. chmod 777 /path/to/file kann jeder die Datei lesen/schreiben, aber chmod 775 /path/to/file lässt nur den Eigentümer/die Gruppe die Datei lesen/schreiben. Verwenden Sie auf jeden Fall chmod 775 /path/to/file wenn Sie einen Webserver entwickeln.

Einige nützliche Informationen, insbesondere zum Begründen der Gründe für 777, 775 usw., werden anstelle anderer Zahlen verwendet: https://www.maketecheasier.com/file-permissions-what-does-chmod-777-means /

3
aaron

Keiner dieser Vorschläge ist richtig, irgendetwas stimmt mit mongodb-org-3.4.16-1.el7.x86_64 nicht. Es kann nicht mit einem benutzerdefinierten Datenbankpfad beginnen.

[[email protected] vagrant]# chmod 777 /data/ /data/mongodb
[[email protected] vagrant]# chown mongod:mongod /data/ /data/mongodb
[[email protected] vagrant]# ls -lad /data/mongodb/
drwxrwxrwx. 2 mongod mongod 6 Jul 11 15:24 /data/mongodb/
[[email protected] vagrant]#  systemctl start mongod
Job for mongod.service failed because the control process exited with error code. See "systemctl status mongod.service" and "journalctl -xe" for details.
[[email protected] vagrant]# stat /data/mongodb^C
[[email protected] vagrant]# !tail
tail /var/log/mongodb/mongod.log
2018-07-11T15:39:10.786+0000 I STORAGE  [initandlisten] exception in initAndListen: 20 Attempted to create a lock file on a read-only directory: /data/mongodb, terminating
2018-07-11T15:39:10.786+0000 I NETWORK  [initandlisten] shutdown: going to close listening sockets...
2018-07-11T15:39:10.786+0000 I NETWORK  [initandlisten] shutdown: going to flush diaglog...
2018-07-11T15:39:10.786+0000 I CONTROL  [initandlisten] now exiting
2018-07-11T15:39:10.786+0000 I CONTROL  [initandlisten] shutting down with code:100
[[email protected] vagrant]# rpm -qa | grep mongo
mongodb-org-tools-3.4.16-1.el7.x86_64
mongodb-org-Shell-3.4.16-1.el7.x86_64
mongodb-org-server-3.4.16-1.el7.x86_64
mongodb-org-mongos-3.4.16-1.el7.x86_64
mongodb-org-3.4.16-1.el7.x86_64
1
b__

Keine der gegebenen Antworten funktionierte für mich. Am Ende habe ich meinen persönlichen OS-Benutzer als Root-Benutzer konfiguriert, bin dann manuell zum Ordner db gegangen - Rechtsklick zum Anzeigen von Informationen - und habe mich mit Lese- und Schreibberechtigungen hinzugefügt.

0
suzmas