Как настроить общий ресурс nfs для пользователей с правами записи

мы использовали ubuntu linux на настольных компьютерах с аутентификацией ldap. Как на сервере, так и на клиентах у нас одинаковые пользователи и группы.

Я настроил сервер nfs с общей папкой, которая должна быть доступна для всех пользователей с правами на запись. Например, один пользователь создал файл, другой сможет удалить этот файл по умолчанию.

у меня есть следующие требования:

  1. Я не хочу изменять umask по умолчанию (0022) на клиентских компьютерах.
  2. Я не хотите использовать inotify для изменения разрешений при изменении файлов на сервере, потому что это замедляет доступ к сети с общим ресурсом nfs и работает не стабильно.

как воспроизвести:

Я создаю начальную папку со списком управления доступом по умолчанию со следующими разрешениями для папки каталог принадлежащей группе inoffice

$ setfacl -m default:g:inoffice:rwx directory/
$ setfacl -m g:inoffice:rwx directory/
$ getfacl directory/

# file: directory/
# owner: root
# group: root
user::rwx
group::r-x
group:inoffice:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:inoffice:rwx
default:mask::rwx
default:other::r-x

в теории:
1. Этот каталог должен быть доступен для записи пользователям группы inoffice.
2. Все новые файлы а Дирс наследует group:inoffice:rwx разрешения

Допустим, у нас два пользователя (клиента):

user1 with primary group __USERS__ and supplementary group inoffice 
user2 with primary group __USERS__ and supplementary group inoffice 

предположим, пользователь1 зашел в папку NFS каталог на своей машине и создал папку с именем 'folder_user1'

getfacl folder_user1
# file: folder_user1
# owner: user1
# group: user1_group
user::rwx
group::r-x
group:inoffice:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:inoffice:rwx
default:mask::rwx
default:other::r-x

тогда пользователь2 может удалить эту папку из-за default:group:inoffice:rwx разрешения

но если user1 копировать каталог (вместо создания) в каталог. В результате разрешения будут:

$ getfacl folder_copied_by_user1
# file: folder_copied_by_user1
# owner: user1
# group: user1_group
user::rwx
group::r-x
group:inoffice:rwx      #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:inoffice:rwx
default:mask::rwx
default:other::r-x

Я знаю о разнице в вызовах метода, открытого при копировании и создании файлов в linux.
Также я знаю о umask, который применяется после операции создания файла.

Я не могу найти решение для обмена файлами в сети с протоколом nfs в моем случае.

помогите мне найти решение.

27
задан vskubriev
23.11.2022 14:45 Количество просмотров материала 2415
Распечатать страницу

1 ответ

Я нашел простой обходной путь на этом статьи.

Если мы используем отдельную основную группу для каждого пользователя, мы можем использовать umask = 002. Тогда права доступа группы не будут отключены umask. И мы можем установить разрешения, используя setgid или acl.

но предложенное решение усложняет управление пользователями, а именно создание и удаление. Будучи администратором LDAP, вам необходимо создать основную группу для всех пользователей ldap. Удалить группу основного пользователя, когда удалите ненужного пользователя.

кроме того, я хотел бы отметить, что:

У меня из-за миграции из zentyal на openldap используется та же основная группа (пользователи) для всех вновь созданных пользователей.

с одной стороны, это упрощает управление пользователями, с другой стороны не решит проблему с общей папкой для них.

0
отвечен vskubriev 2022-11-24 22:33

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

acl
file-permissions
linux
nfs
permissions
Вверх