Читаем Сетевые средства Linux полностью

• sync и async. Данные опции задают соответственно синхронный и асинхронный режимы выполнения операций. При записи в асинхронном режиме сервер может сообщить клиенту о том, что операция завершена, в то время как запись на диск еще продолжается. Это ускоряет процесс обмена данными, но создает угрозу их целостности; в случае выхода сервера из строя информация будет утеряна. Официально считается, что NFSv2 не поддерживает асинхронные операции, но, несмотря на это, сервер NFS в системе Linux позволял выполнять действия в асинхронном режиме. NFSv3 поддерживает асинхронный режим, а для снижения риска к клиенту предъявляются требования буферизации данных. По умолчанию в серверах NFSv3 предполагается опция async, но в бета-версиях программ NFS для Linux данная опция игнорируется.

• wdelay и no_wdelay. Если сервер NFS, работающий в системе Linux, предполагает, что последующие запросы могут изменить данные, предназначенные для записи на диск, он может отложить на некоторое время процедуру записи. Во многих случаях такой подход позволяет увеличить производительность сервера. Изменить принцип записи можно, указывая опции wdelay и no_wdelay. Опция wdelay предполагается по умолчанию.

<p>Средства контроля доступа</p>

Многие из опций, которые указываются для каждого клиента в файле /etc/exports, предназначены для управления доступом. Как было сказано ранее, NFS использует механизм доверия, поэтому сервер не может проверить имя пользователя и пароль, как это происходит в системе Samba. Если клиент объявлен как заслуживающий доверия, то решение о предоставлении доступа принимается на основании сведений о принадлежности файла владельцу и правах. Некоторые из опций управления доступом, встречающиеся в файле /etc/exports, перечислены ниже.

• secure и insecure. По умолчанию сервер NFS считает, что запросы должны поступать с защищенных портов, номера которых не превышают 1023. В системах UNIX и Linux доступ к таким портам имеет только пользователь root (право работы через порты с номерами 1024 и выше предоставлено всем пользователям). Разрешая обращения клиентов, которые используют номера портов, превышающие 1023 (т.е. задавая опцию insecure), вы предоставляете пользователям, не обладающим привилегиями, дополнительный шанс осуществить несанкционированный доступ к серверу. В некоторых случаях, например при тестировании клиентских программ, использование опции insecure может быть оправдано.

• ro и rw. Опция ro разрешает только читать содержимое экспортируемого каталога, а опция rw предоставляет также возможность записывать данные в этот каталог. В сервере knfsd, использующем функции ядра, по умолчанию принимается опция ro, а в серверах, выпущенных ранее, по умолчанию предполагалось, что задана опция rw. Чтобы предотвратить возникновение ошибок, рекомендуется задавать требуемую опцию в явном виде.

• hide и nohide. Предположим, что на сервере NFS каталог /usr размещен в одном разделе, а каталог /usr/local — в другом. Если вы экспортируете каталог /usr, должен ли экспортироваться также и каталог /usr/local? Ответ на данный вопрос зависит от используемого сервера. В ядре 2.2.x для этого была предусмотрена специальная опция. В последних версиях сервера NFS вы можете управлять его поведением, задавая опции hide и nohide. Опция hide скрывает смонтированные разделы, а опция nohide выполняет противоположное действие. Некоторые клиенты допускают ошибки в работе со смонтированными разделами, поэтому в ряде случаев приходится задавать опцию hide. При этом клиент должен самостоятельно монтировать оба каталога.

• noaccess. Данная опция запрещает доступ к каталогу, даже если он является подкаталогом экспортируемого каталога. Предположим, например, что вы хотите экспортировать поддерево /home, за исключением каталога /home/abrown. Для этого надо создать в файле /etc/exports обычную запись для каталога /home и отдельную запись для каталога /home/abrown, указав в ней опцию noaccess. В результате пользователи не смогут обращаться к каталогу /home/abrown.

Перейти на страницу:

Похожие книги