Назад | Перейти на главную страницу

Разрешения ACL не работают в Ubuntu

Проблема

Мне нужно предоставить доступ для чтения / записи к системной группе под названием «mongodb» на USB-ключе, отформатированном как 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

Дополнительный тест

Чтобы доказать, что это работает, я сделал следующее:

  1. создайте нового пользователя в ubuntu с именем «test».
  2. создали новую группу под названием тестеры
  3. добавлен тест тестерам.
  4. добавлены тестеры в список ACL для папки / media / me / mongotest / mongodb на usb:
 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
  1. Затем я сменил пользователя на «test»:
me@medev:~$ su test
Password:
  1. Пытался сменить каталоги на USB-ключ так:
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$

Таким образом, может показаться, что я что-то делаю неправильно с тем, как я создаю / добавляю эти разрешения ... потому что это не работает для обоих пользователей / групп.

Всегда используйте непользовательскую точку монтирования. Значит, пользователь (mongodb) не может писать (мне) другие пользовательские файлы или ссылки. Если вы удалите «я» пользователя, возникнет ошибка соответствующего пользователя и служб. Когда вы даете папке более 1 пользователя, вы создаете перекрестную ссылку (и). Никогда не предлагайте услуги с использованием перекрестных ссылок.

*** извините за ненормативную лексику ..

Мне пришлось предоставить разрешения ACL для папки / media / me. «я» - это имя моего профиля / имени пользователя, и я предполагаю, что ubuntu по умолчанию монтируется под моим именем. так вот что я сделал:

setfacl -m g: mondodb: rwx / media / me

И это работает.