sockets - mongod start
MongoDB-Permiso denegado para socket:/tmp/mongodb-27017.sock (6)
¿Cuáles son los permisos de archivo en / tmp? ¿Es posible que hayan sido cambiados?
UNA
# ls -ld /tmp
te diré.
Si no está seguro, intente:
# chown root:root /tmp
# chmod 1777 /tmp
Eso podría arreglarlo.
Tuve un cierre impuro de MongoDB en Ubuntu 10.04 LTS. Ahora, cuando inicio sesión como root y ejecuto Mongodb a través del servicio mongodb start, obtengo el siguiente error:
Mon Dec 12 13:53:15 [initandlisten] ERROR: listen(): bind() failed errno:13 Permission denied for socket: /tmp/mongodb-27017.sock
Cuando ejecuto MongoDB manualmente a través de root, funciona bien.
Puedo confirmar que no hay un archivo /tmp/mongodb-27017.sock
root@devbox:~# ll /tmp/
total 16
drwxr-xr-x 4 root root 4096 2011-12-12 13:53 ./
drwxr-xr-x 25 root root 4096 2011-12-11 13:06 ../
drwxrwxrwt 2 root root 4096 2011-12-12 13:01 .ICE-unix/
drwxrwxrwt 2 root root 4096 2011-12-12 13:01 .X11-unix/
¿Dónde empiezo a solucionar problemas?
Asegúrese de que el usuario de Ubuntu Mongo tenga acceso al archivo. El servicio Mongo Ubuntu usa el usuario Ubuntu Mongo. Para averiguar el nombre de usuario de mongo, vaya al directorio / var / lib / mongodb y muestre los permisos: ls -l
En las versiones anteriores a 3.0, el socket se creó con 777 permisos de forma predeterminada. La mayoría de las formas más correctas de establecer los permisos para el socket mongod es establecer el valor en mongodb.conf . Por ejemplo:
sudo vim /usr/local/etc/mongodb.conf
e insertar línea:
filePermissions = 0777
lo.
En caso de que intente cambiar directamente los permisos a /tmp/mongodb-27017.sock con chown y chmod , puede tener la posibilidad de establecerlo temporalmente. Y tenga permisos antiguos después del reinicio del servicio mongod o el reinicio del servidor.
Intenta cambiar de propietario de esta manera,
sudo chown mongodb:mongodb /tmp/mongodb-27017.sock
Tengo el mismo problema, porque uso run mongodb por root, comenzará a fallar con systemctl
en CentOS 7.3.
Por favor, use el permiso correcto para mongodb. $ sudo chown -R mongod:mongod / /var/run/mongodb/mongod.pid / /tmp/mongodb-27017.sock / /var/lib/mongo/
Si tenemos otro error, como Error reading file /path/file: Permission denied
, tal vez podamos solucionarlo con SELinux . $ sudo chcon -v -t mongod_var_lib_t /path/file
Por cierto, no recomiendo usar el permiso 777, es muy peligroso. :PAG
usamos mac e instalamos mongodb, normalmente no necesitamos mongodb.conf, así que, intente esto:
sudo chown -R your-username /tmp/
ps: tu nombre de usuario es tu nombre de usuario en mac os, no root. Si no sabes cuál es tu nombre de usuario, hay un comando:
whoami