Пн go сбой при разрешении только для чтения для каталога, принадлежащего исполняющему пользователю - PullRequest
0 голосов
/ 17 марта 2020

Я работаю на Ubuntu 18.04 как обычный пользователь sudo-er:

test:~$ whoami
mugen

И у меня в каталоге есть каталог db (пропущены ненужные файлы):

test:~$ ls -la /home/mugen
total 64
drwxr-xr-x  7 mugen mugen 4096 Mar 17 14:08 .
drwxr-xr-x 13 root  root  4096 Mar 17 13:32 ..
-rw-------  1 root  root  1778 Mar 17 14:07 .bash_history
-rw-r--r--  1 mugen mugen  220 Apr  4  2018 .bash_logout
-rw-r--r--  1 mugen mugen 3771 Apr  4  2018 .bashrc
drwx------  2 mugen mugen 4096 Feb 25 08:20 .cache
drwxr-xr-x  3 root  root  4096 Mar 17 13:43 .config
drwxrwxr-x  4 mugen mugen 4096 Mar 17 14:09 db

Я пытаюсь запустить mon go, используя: mongod --dbpath /home/mugen/db

Но не удается выполнить следующее:

2020-03-17T14:10:10.735+0000 I  CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2020-03-17T14:10:10.738+0000 I  CONTROL  [initandlisten] MongoDB starting : pid=14315 port=27017 dbpath=/home/mugen/db 64-bit host=test
2020-03-17T14:10:10.738+0000 I  CONTROL  [initandlisten] db version v4.2.3
2020-03-17T14:10:10.738+0000 I  CONTROL  [initandlisten] git version: 6874650b362138df74be53d366bbefc321ea32d4
2020-03-17T14:10:10.738+0000 I  CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.1.1  11 Sep 2018
2020-03-17T14:10:10.738+0000 I  CONTROL  [initandlisten] allocator: tcmalloc
2020-03-17T14:10:10.738+0000 I  CONTROL  [initandlisten] modules: none
2020-03-17T14:10:10.738+0000 I  CONTROL  [initandlisten] build environment:
2020-03-17T14:10:10.738+0000 I  CONTROL  [initandlisten]     distmod: ubuntu1804
2020-03-17T14:10:10.738+0000 I  CONTROL  [initandlisten]     distarch: x86_64
2020-03-17T14:10:10.738+0000 I  CONTROL  [initandlisten]     target_arch: x86_64
2020-03-17T14:10:10.738+0000 I  CONTROL  [initandlisten] options: { storage: { dbPath: "/home/mugen/db" } }
2020-03-17T14:10:10.739+0000 I  STORAGE  [initandlisten] exception in initAndListen: IllegalOperation: Attempted to create a lock file on a read-only directory: /home/mugen/db, terminating
2020-03-17T14:10:10.739+0000 I  NETWORK  [initandlisten] shutdown: going to close listening sockets...
2020-03-17T14:10:10.739+0000 I  -        [initandlisten] Stopping further Flow Control ticket acquisitions.
2020-03-17T14:10:10.739+0000 I  CONTROL  [initandlisten] now exiting
2020-03-17T14:10:10.739+0000 I  CONTROL  [initandlisten] shutting down with code:100

Если я добавлю «другие» права на запись в каталог, это работает отлично. Но я не хочу. mongod не работает как исполняющий пользователь? Могу ли я настроить его по-другому?

1 Ответ

1 голос
/ 17 марта 2020

См. Устранение неполадок - каталог данных должен быть доступен

Каталог данных должен быть настроен с соответствующими разрешениями и настройками владения, чтобы разрешить mongod читать, писать и перемещаться по содержимому каталога (права доступа пользователя или группы rwx).

Вы должны разрешить пользователю mongod писать в эту папку. Или вы можете добавить пользователя mongod к группе mugen, например.

...