web-dev-qa-db-fra.com

Définition des autorisations de lecture / écriture sur le dossier Mongodb

Je viens de terminer l'installation de MongoDB sur OSX et de configurer une structure de répertoires avec Sudo mkdir -p /data/db.

Lorsque j'essaie d'exécuter mongod à partir de mon compte d'utilisateur, il renvoie une erreur indiquant que mon compte d'utilisateur n'a pas l'autorisation de lecture/écriture sur /data/db.

Comment puis-je définir les autorisations de lecture/écriture appropriées sur mon compte pour /data/db?

30
Zoltan King

Assurez-vous que le compte d'utilisateur exécutant mongod dispose des autorisations de répertoire appropriées. Vous pouvez vérifier quelles autorisations sont définies comme suit:

ls -ld /data/db/

S'ils sont correctement configurés, ils devraient ressembler à ceci.

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

Si les autorisations ne sont pas définies correctement, vous verrez probablement une erreur similaire à ceci lorsque vous tenterez d'exécuter mongod

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

Pour obtenir les autorisations définies comme il se doit, vous pouvez exécuter la commande suivante

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

Devrait fonctionner sur Mac. Avant d'exécuter cette cmd, les autorisations ressemblent à

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

après avoir exécuté la cmd

drwxrwxrwx  X User  wheel  Date /data/db
9
getSantsoh

C'est ce qui a fonctionné pour moi. J'utilise un Mac, bien que vous puissiez essayer si vous utilisez Windows.

Sudo chmod 777 /data/db
5
Tim Anishere

Il existe trois catégories d'utilisateurs: les propriétaires, les membres du groupe et tous les autres; chmod 777 /path/to/file permet à tout le monde de lire/écrire le fichier, mais chmod 775 /path/to/file permet uniquement au propriétaire/groupe de lire/écrire le fichier. Utilisez certainement chmod 775 /path/to/file si vous développez un serveur Web.

Quelques lectures utiles, en particulier pour expliquer pourquoi 777, 775, etc. sont utilisés plutôt que d'autres nombres: https://www.maketecheasier.com/file-permissions-what-does-chmod-777-means /

3
aaron

Aucune de ces suggestions n'est correcte, il y a autre chose de mal avec mongodb-org-3.4.16-1.el7.x86_64. Il ne peut pas commencer par un chemin db personnalisé.

[root@localhost vagrant]# chmod 777 /data/ /data/mongodb
[root@localhost vagrant]# chown mongod:mongod /data/ /data/mongodb
[root@localhost vagrant]# ls -lad /data/mongodb/
drwxrwxrwx. 2 mongod mongod 6 Jul 11 15:24 /data/mongodb/
[root@localhost 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.
[root@localhost vagrant]# stat /data/mongodb^C
[root@localhost 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
[root@localhost 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__

Aucune des réponses données ne fonctionnait pour moi. J'ai fini par configurer mon utilisateur de système d'exploitation personnel pour être l'utilisateur root, puis je suis allé manuellement dans le dossier db - clic droit pour afficher les informations - et je me suis ajouté avec des autorisations de lecture et d'écriture.

0
suzmas