Экспорт общих ресурсов Linux на клиенты Linux без аутентификации для каждой группы и без проблем с разрешениями
Учитывая один сервер Linux и много клиентов Linux, мне нужно экспортировать несколько общих каталогов с сервера. Поведение, которое я хочу получить, действительно простое: группа пользователей может использовать общее пространство на сервере, не беспокоясь о наличии прав доступа к файлам UNIX. Если бы я был в мире Windows, я бы просто поделился каталогом как r/w, добавил пользователей в список разрешений, и бум, все готово.
Но в мире Linux я не знаю, как этого добиться:
- Каждый общий каталог может быть подключен только подмножеством пользователей, идентифицированных группой (все пользователи / группы / логины обрабатываются через централизованный LDAP). Так, например. общий ресурс "/var/foobar" на сервере должен быть доступен (чтение / запись) только членам группы LDAP "foobar".
- Пользователи должны иметь возможность создавать / изменять / удалять каталоги, файлы и т. Д. На общем ресурсе с полным доступом, если они находятся в нужной группе.
- Пользователи не должны иметь возможности ввинчивать права доступа к файлам / каталогам в общем ресурсе таким образом, чтобы другие пользователи этого ресурса больше не могли к ним обращаться. Большое напряжение на неспособных.
Проблема с требованием № 3 состоит в том, что существует много приложений Linux, которым нравится ввинчивать разрешения, игнорируя umask и / или заставляя chmod / chgrp после прикосновения к файлу. Яркими примерами являются Nautilus и OpenOffice.
Неудачные эксперименты:
- NFS: пробовал по-разному, но если я давлю, я не могу аутентифицироваться, и если я аутентифицируюсь, а пользователь пытается скопировать каталог с помощью Nautilus, разрешения сбиваются.
- NFS + ACL setgid. Тем не менее, можно использовать стандартные программы для настольных компьютеров, выполняющие стандартные операции, которые каким-то образом приводят к вызову chmod или chgrp
- sshfs / sftp-server: похоже, не существует простого способа избежать вызовов chmod / chgrp. Есть плавающий патч, который позволяет блокировать chmod / chgrp, но он возвращает ошибки клиенту, который жалуется пользователю. Похоже, я мог бы патчить патч, чтобы молча игнорировать chmod / chgrp, но я уже использую SFTP на этом сервере по другим причинам, и, похоже, не существует простого способа определить различные варианты поведения для разных каталогов.
Самба поможет? Другие решения?
2 ответа
Похоже, вы ищете NFS + сопоставление идентификатора пользователя, которое можно найти в NFS v4 с монтированием на пользователя. Не разделяйте монтирование между пользователями, каждый получает свой собственный монтированный как сквош.