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