Paramétrage des permissions de lecture / écriture sur le dossier Mongodb

je viens de finir D'installer MongoDB sur OSX et de configurer une structure de répertoire avec sudo mkdir -p /data/db.

Lorsque je tente de l'exécuter mongod à partir de mon compte d'utilisateur, il renvoie une erreur indiquant que mon compte d'utilisateur n'a pas accès en lecture/écriture /data/db.

Comment puis-je définir le bon autorisations de lecture/écriture sur mon compte pour /data/db?

26
demandé sur davidcondrey 2015-03-11 16:03:35

7 réponses

assurez-vous que le compte de l'utilisateur fonctionne mongod les autorisations de répertoire. Vous pouvez vérifier les autorisations sont définies comme suit:

ls -ld /data/db/

si elles sont bien réglées, elles devraient ressembler à ceci..

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

si les permissions sont mal définies, vous verrez probablement une erreur similaire à celle-ci lorsque vous tenterez de lancer 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 ensemble comme ils devraient l'être, vous pouvez exécuter la commande suivante

sudo chmod 0755 /data/db && sudo chown $USER /data/db
62
répondu davidcondrey 2017-01-06 18:43:13
sudo chmod 777 /data/db/ 

devrait fonctionner sur Mac. Avant d'exécuter ce cmd, les permissions ressemblent à

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

après l'exécution de la cmd

drwxrwxrwx  X User  wheel  Date /data/db
6
répondu getSantsoh 2017-03-06 11:54:05

C'est ce qui a fonctionné pour moi. J'utilise un Mac, mais vous pouvez essayer si vous utilisez windows.

sudo chmod 777 /data/db
5
répondu Tim Anishere 2016-06-21 05:07:23

il y a trois catégories d'utilisateurs: les propriétaires, les membres du groupe et tous les autres; chmod 777 /path/to/file permet à chacun de lire/écrire le fichier, mais chmod 775 /path/to/file permet seulement au propriétaire/groupe de lire / écrire le fichier. Certainement utiliser chmod 775 /path/to/file si vous développez un serveur web.

quelques lectures utiles, surtout pour expliquer pourquoi 777, 775, et ainsi de suite sont utilisés plutôt que d'autres nombres: https://www.maketecheasier.com/file-permissions-what-does-chmod-777-means/

2
répondu aaron 2017-08-16 17:16:03

aucune de ces suggestions ne sont correctes, il y a quelque chose d'autre qui ne va pas avec mongodb-org-3.4.16-1.el7.x86_64. Il ne peut pas commencer avec 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
répondu b__ 2018-07-11 15:46:26

aucune des réponses données ne fonctionnait pour moi. J'ai fini par configurer mon utilisateur de système D'exploitation personnel pour qu'il soit l'utilisateur root, puis je suis allé manuellement dans le dossier db - j'ai cliqué à droite pour voir les informations - et je me suis ajouté avec des permissions de lecture et d'écriture.

0
répondu suzmas 2017-01-13 06:40:32

juste courir

sudo chown group:user /data/db

group est un groupe de l'utilisateur

-1
répondu Artem 2015-03-11 14:05:13