我在亚马逊的mongoDB Ec2服务器上有一个Web3.0。我已经在/data上为mongodb挂载了一个EBS卷,并且已经将/etc/mongod.conf dbpath更改为/data。我想知道" /data“的正确权限是什么--它应该设置在sudo chown mongod:mongod /data或chown root:root /data和ps中。顺便说一下,我正在使用sudo mongod --config /etc/mongod.conf命令启动mongo。最后一个问题是,我应该为/data设置什么chmod,是775还是644?
发布于 2016-11-11 20:20:53
您的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目录更改perms,如下所示:
chown -R mongo:mongo /data
chmod 755 /data希望这能有所帮助。
https://stackoverflow.com/questions/40501542
复制相似问题