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

CIFS и NFS: разрешения и базовые файловые системы

Я немного читал, но все еще не совсем ясно. Насколько я понимаю, разрешения NFS имеют довольно черный или белый цвет и контролируются файлом экспорта (я считаю, что есть варианты, позволяющие соблюдать разрешения локальной файловой системы для клиента NFS, но обычно я не вижу, чтобы они использовались). базовая файловая система не делегирует разрешения для клиента NFS. Как CIFS управляет разрешениями? Контролируют ли клиентский доступ списки управления доступом Windows или разрешения NTFS? Входит ли в картину основная файловая система?

В частности, мне интересно копировать файлы из общего ресурса NFS в общий ресурс CIFS. Следует ли сохранять разрешения при использовании rsync -a? Имеет ли значение, использовала ли базовая файловая система inodes или нет на общем ресурсе NFS или CIFS?

Это довольно широкий вопрос, который немного зависит от, например, Версии NFS.

Тем не мение:

NFS позволяет указать режим безопасности при экспорте. Это также позволяет вам применять ограничения, до которых серверы могут монтировать ваш экспорт. (Либо ограничение монтирования, либо принудительное выполнение только чтения / без корня).

Это совершенно не связано с разрешениями. Если ваш режим безопасности - sys, это означает, что удаленная система решает, как обрабатывать аутентификацию - вы делегируете доверие своему удаленному серверу - если монтирующий клиент говорит: «Эй, я UID 123», то ваш сервер им доверяет.

Можно экспортировать NFS в режиме безопасности Kerberos, который менее надежен. Однако его не так просто настроить и работать, и в результате он не используется так часто. Однако Kerberos перемещает доверительные отношения на доверенный сервер - контроллер домена Kerberos. (Что, если вы лучше знаете Windows, очень похоже на оконный контроллер домена - это тоже не случайно).

При использовании Kerberos вам необходимо пройти аутентификацию через третье лицо, а затем доступ к файлам будет разрешен в соответствии с разрешениями. NFS <= V3 позволяет «стандартному» пользователю, группе, другой системе разрешений на чтение / запись / выполнение. NFSv4 поддерживает более подробные списки контроля доступа. Они также не используются слишком широко, потому что они более сложные.

Однако когда вы приходите к CIFS, вы подходите под другим углом. Акции CIFS связаны с контекстом пользователя. Серверы не монтируют общие ресурсы CIFS, пользователи сопоставляют его. В него встроена аутентификация пользователя CIFS. Теперь (обычно) это также делается через Kerberos.

Я представляю свои учетные данные пользователя (билет Kerberos) * серверу, который может просмотреть Поделиться разрешения, чтобы узнать, могу ли я вообще получить к нему доступ.

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

Я уверен, что неудивительно, что существует определенная степень конвергенции между аутентификацией и разрешением CIFS / Kerberos и NFSv4 / Kerberos. Действительно, в настоящее время мы находимся в процессе объединения наших хостинговых сред для использования общих разрешений.

Однако, если вы не используете NFSv4, вам все равно придется обрабатывать сопоставление между разрешениями на основе групп / ролей CIFS и разрешениями Unix.

  • Вам не обязательно использовать Kerberos, чтобы общаться с Windows - теперь вы используете NTLM. Это не лучший план, но в целом он работает одинаково - по крайней мере, с точки зрения разрешения / общего доступа.