В linux с использованием NFS команда open () выполняется удаленно?

Предположим, что в сети есть сервер, и локальный компьютер пытается открыть файл. Открыто («A / B / C / D / E / filename») реализовано в локальной системе примерно так:

  1. Локальная система сначала извлекает содержимое каталога A с сервера, что может дать сбой по соображениям безопасности.

  2. Локальная система сканирует каталог в поисках индексного дескриптора B.

  3. Повторяйте 1 и 2 рекурсивно, пока не дойдете до inode имени файла.

  4. Наконец, локальная система вызывает сервер, чтобы открыть индексный дескриптор имени файла.

Или open () полностью обрабатывается на удаленном хосте.

Я пытаюсь решить, будет ли opendir (dir), readdir () для определенного шаблона имени файла, closedir () и, наконец, open (filename) займет такое же количество времени, как и просто open (filename).


person johnnycrash    schedule 15.06.2011    source источник
comment
NTFS - это не сетевая файловая система. Вы имели ввиду NFS?   -  person Fred Foo    schedule 15.06.2011


Ответы (1)


Проверки аутентификации в NFS выполняются на удаленном сервере. Доказательство? Пользователь «root» в локальной системе обычно отображается на пользователя «none» в удаленной системе и не имеет прав. Однако я не могу сразу гарантировать, что проверки безопасности ТАКЖЕ не происходят в локальной системе.

person Seth Robertson    schedule 15.06.2011
comment
Аутентифицируется ли он на всем пути / пути / пути за один раз? - person johnnycrash; 16.06.2011
comment
@johnnycrash: Нет, система будет запрашивать по одному компоненту каталога за раз, как это делает обычный open (2) в локальной файловой системе. См. faqs.org/rfcs/rfc1094.html и 3.3. Проблемы с разрешениями для получения дополнительной информации о поиске разрешений. Если вы хотите увидеть, что происходит, смонтируйте где-нибудь NFS UDP на какой-нибудь сервер и используйте tcpdump (обычно tcpdump -v -n port 2049), чтобы наблюдать, что происходит и как это работает по сети. - person Seth Robertson; 16.06.2011