mongodb 数据路径的正确权限

Correct permissions for mongodb data path

我在 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?

您的 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

希望对您有所帮助。