мы использовали ubuntu linux на настольных компьютерах с аутентификацией ldap. Как на сервере, так и на клиентах у нас одинаковые пользователи и группы.
Я настроил сервер nfs с общей папкой, которая должна быть доступна для всех пользователей с правами на запись. Например, один пользователь создал файл, другой сможет удалить этот файл по умолчанию.
у меня есть следующие требования:
- Я не хочу изменять umask по умолчанию (0022) на клиентских компьютерах.
- Я не хотите использовать 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 в моем случае.
помогите мне найти решение.