mongodb dbpath更改后出现权限错误
由于根目录已满,我已将mongodb路径移动到其他装载位置。我将它移动到一个更大的分区,该分区安装在我的主目录下(它也是与根目录分开的分区) 首先我阻止了mongod,然后我跑了mongodb dbpath更改后出现权限错误,mongodb,permission-denied,automount,Mongodb,Permission Denied,Automount,由于根目录已满,我已将mongodb路径移动到其他装载位置。我将它移动到一个更大的分区,该分区安装在我的主目录下(它也是与根目录分开的分区) 首先我阻止了mongod,然后我跑了 cp -ra /var/lib/mongodb $HOME/archive/mongodb 复制旧的dbpath,同时保留权限和时间戳以及预期的所有内容 我检查了2个目录,所有内容都是一样的,组是守护进程,用户是mongodb 然而,由于某些原因,每次尝试启动mongo时,我都会在mongodb.log中遇到以下权限
cp -ra /var/lib/mongodb $HOME/archive/mongodb
复制旧的dbpath,同时保留权限和时间戳以及预期的所有内容
我检查了2个目录,所有内容都是一样的,组是守护进程,用户是mongodb
然而,由于某些原因,每次尝试启动mongo时,我都会在mongodb.log中遇到以下权限错误:
sudo systemctl start mongodb
Fri Nov 8 14:15:36.412 [initandlisten] options: { bind_ip: "10.10.11.101", config: "/etc/mongodb.conf", dbpath: "/home/dave/archive/mongodb", logappend: "true", logpath: "/var/log/mongodb/mongod.log", quiet: true, rest: "true" }
Fri Nov 8 14:15:36.412 [initandlisten] exception in initAndListen std::exception: boost::filesystem::status: Permission denied: "/home/dave/archive/mongodb", terminating
这是权限的输出:
ls -alt $HOME/archive/mongodb
drwxr-xr-x 4 mongodb daemon 4096 Nov 8 13:26 .
drwxrwxr-x 14 dave users 4096 Nov 8 12:57 ..
drwxr-xr-x 2 mongodb daemon 4096 Nov 8 12:29 journal
我还运行了几次chown-R,只是为了确定
我甚至将mongodb user添加到users组中,因为归档目录的组是users,所以挂断了连接。但仍然不起作用
这可能是某种fstab问题吗
UUID=88356ad7-9b85-402e-a0ab-86547fae9bcd /home ext4 defaults,user_xattr 0 1
UUID=db4a13df-62df-46eb-8c0d-809d5f2c312f /home/dave/archive ext4 defaults,user_xattr 0 1
谢谢你的建议
编辑:
最后,我使用了另一个驱动器,并将其装载到新定义的目录/mnt/data中,现在一切都正常了,但我仍然很想知道为什么上面的内容无法正常工作,因为我在Centos 7上使用了与安全上下文相关的
cp-ra
chown-R mongod:mongod/home/dave/archive/mongodb
chcon-Rv--type=mongod\u var\u lib\u t/home/dave/archive/mongodb