Проблема
Я должен дать доступ для чтения-записи к системной группе, названной "mongodb" на флеш-карте, это было отформатировано как ext4. Кажется, что команда работала, но когда я пытаюсь сделать, чтобы пользователь системы записал в эту папку, я получаю ошибку полномочий:
2014-11-11T10:41:19.326-0500 [initandlisten] exception in initAndListen std::exception: boost::filesystem::status: Permission denied: "/media/me/mongotest/mongodb", terminating
Вот команда, я раньше проверял, что у этой группы есть доступ:
me@medev:~$ getfacl /media/me/mongotest/mongodb/
getfacl: Removing leading '/' from absolute path names
# file: media/me/mongotest/mongodb/
# owner: root
# group: root
user::rwx
group::r-x
group:mongodb:rwx
mask::rwx
other::r-x
Дополнительный тест
Только для доказательства это работало, я сделал следующее:
me@medev:~$ getfacl /media/me/mongotest/mongodb/ getfacl: Removing leading '/' from absolute path names # file: media/me/mongotest/mongodb/ # owner: root # group: root user::rwx group::r-x group:mongodb:rwx group:testers:rwx mask::rwx other::r-x
me@medev:~$ su test Password:
test@medev:/home/me$ cd /media/me/mongotest bash: cd: /media/me/mongotest: Permission denied test@medev:/home/me$ cd /media/me/mongotest/mongodb bash: cd: /media/me/mongotest/mongodb: Permission denied test@medev:/home/me$
Таким образом, казалось бы, что я делаю что-то не так с путем, я создаю / добавляющий эти полномочия..., потому что это перестало работать для обоих пользователей / группы.
Мне пришлось предоставить разрешения ACL для папки / media / me. «я» - это имя моего профиля / имени пользователя, и я предполагаю, что ubuntu по умолчанию монтируется под моим именем. вот что я сделал:
setfacl -m g: mondodb: rwx / media / me
И это работает.
Всегда используйте точку крепления непользователя. Это значит, что пользователь (mongodb) не может написать (мне) другие пользовательские файлы или ссылки. Если вы удалите "меня" пользователя, создав ошибку связанного пользователя и сервисов. Когда вы даёте папку более чем 1 пользователю, вы делаете перекрёстную ссылку. Никогда не предлагайте использовать перекрестную ссылку.
*** извините за нецензурную лексику...