Конфигурационным файлом сервера NFS служит /etc/exports, содержащий список экспортируемых файловых систем. В каждой строке записан один экспортируемый каталог, узел или домен, которому разрешено монтировать этот каталог, и — без пробела, в скобках, через запятую, — спецификации экспорта. Длинные строки можно разбивать на несколько строк при помощи символа обратного слэша.
Разрешается экспортировать любые каталоги, а не только корневые каталоги физических файловых систем. Единственное ограничение — файловые системы, физически расположенные на разных устройствах (разделах), должны экспортироваться по отдельности.
Листинг 12.1. Примерный файл /etc/exports
/pub (ro,insecure,all_squash)
/home/den denhome.domain.com(rw)
/mnt/cdrom (ro)
/mnt/cdrom comp11.domain.com(noaccess)
Давайте разберемся в данной конфигурации. К каталогу /pub имеют доступ в режиме «только чтение» все компьютеры сети. К каталогу /home/den доступ в режиме чтения и записи имеется только с компьютера denhome.domain.com. К каталогу /mnt/cdrom доступ в режиме «только чтение» имеют все компьютеры, кроме comp11.domain.com.
Другие спецификации экспорта перечислены в таблице 12.2.
Спецификации в файле /etc/ехports Таблица 12.2
| Спецификация | Назначение |
|---|---|
| secure | Требует, чтобы запросы исходили только из портов безопасного диапазона — с номерами, меньшими 1024. В Linux доступ к таким портам имеет только пользователь root. Значение secure по умолчанию включено |
| insecure | Отключает значение secure |
| ro | Устанавливает для экспортируемого каталога доступ в режиме «только чтение» |
| rw | Устанавливает для экспортируемого каталога доступ в режиме чтения и записи |
| noaccess | Запрещает доступ к конкретной ветви (подкаталогу) экспортируемого дерева каталогов |
| link_absolute | Оставляет все символические ссылки без изменений. Значение включено по умолчанию |
| link_relative | Конвертирует абсолютные ссылки в относительные |
| squash_uidssquash_gids | Указанные идентификаторы групп и пользователей будут конвертированы в анонимные |
| all_squash | Все идентификаторы групп и пользователей будут конвертированы в анонимные. При этом всем им будет запрещен доступ к экспортируемым каталогам. По умолчанию так не делается |
| no_all_squash | Значение, обратное all_squash. Активизировано по умолчанию |
| root_squash | Преобразует запросы от пользователя root (uid=0) в запросы от анонимного пользователя с целью запретить суперпользователю его привилегии при доступе к файловой системе. Это значение установлено по умолчанию |
| no_root_squash | Отменяет значение root_squash |
| anonuid=UID anonguid=GID | Задают идентификаторы анонимных пользователей. По умолчанию анонимным пользователем является пользователь nobody. Однако с помощью этих спецификаций вы можете сами указать, кого следует воспринимать в качестве анонимных пользователей |
Каталоги, перечисленные в /etc/exports, экспортируются на этапе начальной загрузки. Добавить или удалить каталог в течение сеанса можно при помощи утилиты exportfs из пакета nfs-utils.
Для повышения безопасности доступа к разделяемым ресурсам служат конфигурационные файлы /etc/hosts.allow и /etc/hosts.deny (п.11.2.2).
12.2. Samba: Linux-сервер для Windows-клиентов
12.2.1. Samba на сервере