我有三个ubuntu 20.04服务器:
- db-master
- db-node1
- db-node2
我想知道如何启用访问控制。服务器工作正常,除非将以下配置添加到/etc/mongod.conf提前感谢:
$ mongo --version
MongoDB shell version v5.0.1
$ sudo vim /etc/mongod.conf
security:
keyFile: "/home/ubuntu/security.keyFile"
authorization: enabled
$ sudo systemctl status mongod
● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
Active: active (running)
$ sudo systemctl restart mongod
ubuntu@db-node2:~$ sudo systemctl status mongod
● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
Active: failed
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
# engine:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
# how the process runs
processManagement:
timeZoneInfo: /usr/share/zoneinfo
#security:
#operationProfiling:
replication:
replSetName: "rs0"
#sharding:
## Enterprise-Only Options:
#auditLog:
security:
keyFile: "/home/ubuntu/security.keyFile"
authorization: enabled
#snmp:
解决方案
ubuntu@:~$ sudo chown mongodb [PATH TO KEY FILE]
ubuntu@:~$ sudo chgrp root [PATH TO KEY FILE]
ubuntu@:~$ sudo chmod 400 [PATH TO KEY FILE]