【问题标题】:Setting read/write permissions on Mongodb folder设置 Mongodb 文件夹的读/写权限
【发布时间】:2015-05-13 06:51:18
【问题描述】:

我刚刚在 OSX 上安装完 MongoDB,并使用sudo mkdir -p /data/db 设置了一个目录结构。

当我尝试从我的用户帐户运行 mongod 时,它返回一个错误,指出我的用户帐户没有对 /data/db 的读/写权限。

如何在我的帐户上为/data/db 设置正确的读/写权限?

【问题讨论】:

    标签: bash mongodb file-permissions chown


    【解决方案1】:

    根据 Mongodb 大学课程 M103,权限级别将是

    sudo chmod 600 /path/to/db
    

    【讨论】:

      【解决方案2】:

      这些建议都不正确,mongodb-org-3.4.16-1.el7.x86_64 还有其他问题。它不能以自定义数据库路径开始。

      [root@localhost vagrant]# chmod 777 /data/ /data/mongodb
      [root@localhost vagrant]# chown mongod:mongod /data/ /data/mongodb
      [root@localhost vagrant]# ls -lad /data/mongodb/
      drwxrwxrwx. 2 mongod mongod 6 Jul 11 15:24 /data/mongodb/
      [root@localhost vagrant]#  systemctl start mongod
      Job for mongod.service failed because the control process exited with error code. See "systemctl status mongod.service" and "journalctl -xe" for details.
      [root@localhost vagrant]# stat /data/mongodb^C
      [root@localhost vagrant]# !tail
      tail /var/log/mongodb/mongod.log
      2018-07-11T15:39:10.786+0000 I STORAGE  [initandlisten] exception in initAndListen: 20 Attempted to create a lock file on a read-only directory: /data/mongodb, terminating
      2018-07-11T15:39:10.786+0000 I NETWORK  [initandlisten] shutdown: going to close listening sockets...
      2018-07-11T15:39:10.786+0000 I NETWORK  [initandlisten] shutdown: going to flush diaglog...
      2018-07-11T15:39:10.786+0000 I CONTROL  [initandlisten] now exiting
      2018-07-11T15:39:10.786+0000 I CONTROL  [initandlisten] shutting down with code:100
      [root@localhost vagrant]# rpm -qa | grep mongo
      mongodb-org-tools-3.4.16-1.el7.x86_64
      mongodb-org-shell-3.4.16-1.el7.x86_64
      mongodb-org-server-3.4.16-1.el7.x86_64
      mongodb-org-mongos-3.4.16-1.el7.x86_64
      mongodb-org-3.4.16-1.el7.x86_64
      

      【讨论】:

        【解决方案3】:

        用户分为三类:所有者、组中的用户和其他所有人; chmod 777 /path/to/file 允许每个人读/写文件,但chmod 775 /path/to/file 只允许所有者/组读/写文件。如果您正在开发 Web 服务器,请务必使用 chmod 775 /path/to/file

        一些有用的阅读,特别是关于为什么使用 777、775 等而不是其他数字的原因:https://www.maketecheasier.com/file-permissions-what-does-chmod-777-means/

        【讨论】:

          【解决方案4】:
          sudo chmod 777 /data/db/ 
          

          应该可以在 Mac 上运行。在运行这个 cmd 之前,权限看起来像

          drwxr-xr-x  X User  wheel  Date /data/db
          

          运行cmd后

          drwxrwxrwx  X User  wheel  Date /data/db
          

          【讨论】:

          • wheel 是什么意思?蓝色的UserDate 是应该被替换的吗?
          【解决方案5】:

          给定的答案都不适合我。我最终将我的个人操作系统用户配置为 root 用户,然后手动转到 db 文件夹 - 右键单击​​以查看信息 - 并为自己添加了读写权限。

          【讨论】:

            【解决方案6】:

            确保运行mongod 的用户帐户具有适当的目录权限。您可以像这样检查设置了哪些权限:

            ls -ld /data/db/
            

            如果设置正确,它们应该看起来像这样..

            drwxr-xr-x X user wheel XXX Date Time /data/db/

            如果权限设置不正确,您在尝试运行mongod时可能会看到类似于此的错误

            exception in initAndListen: XXXXX Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating

            要获得应有的权限设置,您可以运行以下命令

            sudo chmod 0755 /data/db && sudo chown $USER /data/db
            

            【讨论】:

            • $ sudo chmod 0755 /data/db && sudo chown $USER /data/db
            • 是的!不要忘记sudo chown
            【解决方案7】:

            这对我有用。我用的是 Mac,不过如果你用的是 windows,你可以试试。

            sudo chmod 777 /data/db
            

            【讨论】:

            • sudo chmod 0755 /data/db && chown $USER /data/db
            • 为了安全我们不应该使用这个吗?!
            • 你在哪里有`$USER` 这是数据库的用户名还是计算机的用户帐户?还是您按字面意思输入“$USER”? :D 谢谢。
            【解决方案8】:

            快跑

            sudo chown group:user /data/db
            

            group 是您的用户组

            【讨论】:

            • does where group is a group of your user 是什么意思?请澄清。
            猜你喜欢
            • 2013-11-08
            • 1970-01-01
            • 2014-09-28
            • 1970-01-01
            • 2018-08-22
            • 2015-10-18
            • 2023-03-28
            • 2017-10-05
            • 1970-01-01
            相关资源
            最近更新 更多