• wdelay
и no_wdelay
. Если сервер NFS, работающий в системе Linux, предполагает, что последующие запросы могут изменить данные, предназначенные для записи на диск, он может отложить на некоторое время процедуру записи. Во многих случаях такой подход позволяет увеличить производительность сервера. Изменить принцип записи можно, указывая опции wdelay
и no_wdelay
. Опция wdelay
предполагается по умолчанию.
Средства контроля доступа
Многие из опций, которые указываются для каждого клиента в файле /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
.
• subtree_check
и no_subtree_check
. В некоторых случаях приходится экспортировать не весь раздел, а лишь его часть. При этом сервер NFS должен выполнять дополнительную проверку обращений клиентов, чтобы убедиться в том, что они предпринимают попытку доступа лишь к файлам, находящимся в соответствующих подкаталогах. Такой контроль поддерева (subtree checks) несколько замедляет взаимодействие с клиентами, но если отказаться от него, могут возникнуть проблемы с безопасностью системы. Отменить контроль поддерева можно с помощью опции no_subtree_check
. Опция subtree_check
, включающая такой контроль, предполагается по умолчанию. Контроль поддерева можно не выполнять в том случае, если экспортируемый каталог совпадает с разделом диска.
• root_squash
и no_root_squash
. По умолчанию сервер NFS отвергает обращения, которые исходят от пользователя root
, работающего на клиентском компьютере. Эти обращения интерпретируются как попытки доступа локального анонимного пользователя. Такая мера повышает уровень безопасности системы, предполагая, что привилегии root
на удаленном компьютере могли быть получены незаконно. Если же вам необходимо выполнять администрирование сервера с удаленного узла, то, для того, чтобы иметь возможность работать с привилегиями локального пользователя root
, надо задать опцию no_root_squash
. Подобная мера может потребоваться, например, при создании резервных копий.
Читать дальше