Umgebung: Ubuntu 16.04
Wenn php-fpm
和 nginx
使用的是 www
用戶運(yùn)行的,redis
使用的 redis
用戶運(yùn)行,到了mongodb
這好像不能指定用戶,默認(rèn)用 root
der Benutzer es beispielsweise ausführt, wird jedes Mal eine Warnung ausgegeben, wenn er mongo betritt
[initandlisten] ** WARNUNG: Sie führen diesen Prozess als Root-Benutzer aus, was nicht empfohlen wird.
Anbei ist das Mongodb-Startskript. Kann dieses Skript ge?ndert werden, um einen Benutzer anzugeben, der Mongodb ausführen soll?
#!/bin/sh
### BEGIN INIT INFO
# Provides: mongodb
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: mongodb
# Description: mongo db server
### END INIT INFO
. /lib/lsb/init-functions
PROGRAM=/usr/local/mongodb/bin/mongod
MONGOPID=`ps -ef | grep 'mongod' | grep -v grep | awk '{print }'`
test -x $PROGRAM || exit 0
case "" in
start)
ulimit -n 3000
log_begin_msg "Starting MongoDB server"
$PROGRAM -f /usr/local/mongodb/mongo.conf
log_end_msg 0
;;
stop)
log_begin_msg "Stopping MongoDB server"
if [ ! -z "$MONGOPID" ]; then
kill -15 $MONGOPID
fi
log_end_msg 0
;;
status)
;;
*)
log_success_msg "Usage: /etc/init.d/mongodb {start|stop|status}"
exit 1
esac
exit 0
這其實(shí)不是mongodb的問(wèn)題了吧,應(yīng)該算是Linux更合適些。至少可以使用sudo
來(lái)指定用戶:sudo -u mongo $PROGRAM -f /usr/local/mongodb/mongo.conf
如果是用RPM安裝,本身就帶了init.d
腳本,可以參考一下其中的做法,特別是里面已經(jīng)配置了禁用NUMA,也是需要注意的。
我不知道理解你的意思對(duì)不對(duì),你想要對(duì)用戶授權(quán)登錄,這時(shí)候你只需要添加用戶并且mongod啟動(dòng)時(shí)添加了--auth參數(shù)開(kāi)啟登錄授權(quán)。這時(shí)候以默認(rèn)方式登錄,即以無(wú)認(rèn)證用戶登錄,查詢等操作的時(shí)候會(huì)被提示無(wú)權(quán)限。
Thu May 25 06:01:27.522 listDatabases failed:{ "ok" : 0, "errmsg" : "unauthorized" } at src/mongo/shell/mongo.js:46
考慮安全性,都是按權(quán)分配,需要多大的權(quán)限就分配多少權(quán)限,這個(gè)是linux安全基本原則。