【问题标题】:Correct permissions for mongodb data pathmongodb数据路径的正确权限
【发布时间】:2016-11-09 07:00:06
【问题描述】:
我在 Amazon Ec2 服务器上有一个 mongoDB 3.0 。
我已经在 /data 为 mongodb 安装了一个 EBS 卷,并且已经更改
/etc/mongod.conf dbpath to /data 。我想知道“/data”的正确权限是什么,应该在 sudo chown mongod:mongod /data 或 chown root:root /data 和 ps 中设置。顺便说一句,我正在使用
sudo mongod --config /etc/mongod.conf 命令启动 mongo 。最后一个问题是我应该为 /data 设置什么 chmod 是 775 还是 644?
【问题讨论】:
标签:
mongodb
amazon-ec2
permissions
chmod
chown
【解决方案1】:
正如您所提到的,您的 mongo 顶级目录和所有数据文件都需要由“mongo”用户拥有,因为它是运行时 mongo 进程的所有者。如果数据文件由 root 拥有,那么用户 'mongo' 将无法写入文件,除非您使文件组可写,这稍微复杂一些。我的 mongo 实例与 mongo 用户拥有的所有文件(以及顶级目录 /var/lib/mongo)一起运行,如下所示:
[ec2-user@ip-10-0-1-1 mongo]$ cd /var/lib/mongo
[ec2-user@ip-10-0-1-1 mongo]$ ls -ld .
drwxr-xr-x 5 mongod mongod 4096 Mar 23 2016 .
[ec2-user@ip-10-0-1-1 mongo]$ ls -l
total 81944
drwxr-xr-x 2 mongod mongod 4096 Mar 29 2015 journal
-rw------- 1 mongod mongod 67108864 Mar 29 2015 local.0
-rw------- 1 mongod mongod 16777216 Mar 29 2015 local.ns
drwx------ 2 root root 16384 Jul 18 2014 lost+found
drwxr-xr-x 4 mongod mongod 4096 Nov 9 19:53 mongod1
[ec2-user@ip-10-0-1-1 mongo]$
关于目录权限,目录总是需要任何用户试图将目录更改为可执行文件,因此 755 权限更合适。如果我是你,我会像这样更改 /data 目录的权限:
chown -R mongo:mongo /data
chmod 755 /data
希望这会有所帮助。