MongoDB – How to Enable Authentication on Mongo Database

Beginners starting with MongoDB would come across the requirement of enabling authentication on MongoDB database. This blog presents tips and code sample on how to enable login on MongoDB database such that one would require to pass their user credentials in order to access the database.

In order to enable authentication for MongoDB databases, following can be done. This would essentially mean that users would have to provide user credentials in order to access a specific database. Otherwise, anyone can access any database using command such as mongo.

  • Apply following changes in /etc/mongod.conf file. Note that mongod.conf is configuration file where other details such as data path can also be found.
security:
    authorization: enabled
  • Start mongodb with –auth option. As mentioned above, path to mongodb data can be found in /etc/mongod.conf file.
sudo mongod --dbpath /path/to/mongodb/data --auth

Note that if you do not start mongodb database with sudo command, you will end up getting following error:

exception in initAndListen: 20 Attempted to create a lock file on a read-only directory

Ajitesh Kumar

Ajitesh Kumar

I have been recently working in the area of Data analytics including Data Science and Machine Learning / Deep Learning. I am also passionate about different technologies including programming languages such as Java/JEE, Javascript, Python, R, Julia, etc, and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data, etc. I would love to connect with you on Linkedin. Check out my latest book titled as First Principles Thinking: Building winning products using first principles thinking.
Posted in MongoDB, NoSQL. Tagged with , .