- Введение
- Исходные данные
- Настройка сервера
- Подготовка
- Корректировка настроек пакета
- Конфигурация
- Экспорт разделяемого ресурса
- Безопасный экспорт разделяемых ресурсов
- Настройка клиента
- Монтируем ресурс
- Автоматическое монтирование ресурса при загрузке
- Автоматическое монтирование ресурса по запросу
- Решение проблемы зависания графических приложений
- Сетевая файловая система (NFS)
- Установка
- Настройка
- Настройка клиента NFS
Введение
Защищенной сетевой файловой системой для работы с информацией ограниченного доступа в Astra Linux Special Edition является Samba SMB/CIFS.
При работе в Astra Linux Special Edition с включенной политикой мандатного управления доступом (МРД) и обработкой информации ограниченного доступа применять сетевую файловую систему NFS для хранения данных в общем случае не рекомендуется.
NFS (сокращение от Network File System, Сетевая Файловая Система) — сервис, обеспечивающий общий доступ к файлам и каталогам систем *nix / Linux. Файловая система NFS позволяет монтировать удалённые разделяемые файлы подобно локальным. Существует в двух вариантах:
- вариант nfs-kernel -server , работающий на уровне ядра (входит в состав Astra Linux)
- и вариант работающий на уровне пользовательских программ (в состав Astra Linux не входит)
В Astra Linux Special Edition для того, чтобы включить NFS v2, нужно добавить опцию «-V 2» в две переменные в файле /etc/default/nfs-kernel-server (второй переменной по умолчанию нет, её надо создавать):
Исходные данные
Пакеты nfs-kernel-server (сервер) и nfs-common (клиент) входят в стандартный дистрибутив Astra Linux Special Edition, и доступны в сетевом репозитории Astra Linux Common Edition. Поддержка файловой системы NFS интегрирована в ядро всех ОС Astra Linux.
По умолчанию пакет nfs-kernel-server не устанавливается. Установить сервер nfs и клиент nfs-common можно из графического менеджера пакетов (см. Графический менеджер пакетов synaptic) , или из командной строки.
При установке пакетов для работы с файловой системой NFS будет автоматически установлена служба rpcbind. Использование службы rpcbind несовместимо с работой на ненулевых уровнях конфиденциальности. Для работы с включенным МРД на ненулевых уровнях конфиденциальности следует использовать рекомендованную сетевую файловую систему Samba SMB/CIFS.
Установка сервера из командной строки:
Дополнительно, можно установить пакет «монтирования ресурсов NFS по запросу», позволяющий монтировать ресурсы только при обращениях к ним, см. Autofs монтирование по запросу.
Настройка сервера
Подготовка
Для развёртывания сервера NFS, как и любого другого сервера:
- рекомендуется назначить серверу постоянный IP-адрес;
- настроить разрешение имён клиентских компьютеров, или назначить им статические IP-адреса;
- выделить ресурс (каталог), который в дальнейшем станет разделяемым. Пример: создание каталога /srv/nfsshare и задание для него полного доступа на чтение и запись:
Корректировка настроек пакета
При работе в операционных системах Astra Linux, выпущенных ранее очередного обновления x.7, для нормального автоматического запуска службы nfs-kernel-server после перезагрузки компьютера внести изменения в его UNIT-файл /etc/systemd/system/multi-user.target.wants/nfs-server.service добавив следующие строки в секцию unit:
Указанные исправления обеспечат запуск службы nfs-server после службы rpcbind. После внесения изменений перезапустить службу:
При работе в Astra Linux Special Edition очередное обновление x.7 указанные действия не требуются.
Конфигурация
Основная конфигурация сервиса nfs хранится в файле /etc/exports . Кроме этого файла сервис использует файлы:
- /etc/fstab — записи обо всех файловых системах, включая nfs, автоматически монтируемых при загрузке системы.
- /etc/hosts.allow , /etc/hosts.deny — используется, чтобы решить, принять или отклонить подключения, приходящие с внешних IP-адресов
Экспорт разделяемого ресурса
Для экспорта созданного ранее разделяемого ресурса (каталога) /srv/nfsshare добавить в конфигурационный файл /etc/exports строку
- — постоянный IP-адрес компьютера-клиента (может быть использовано имя компьютера), или, для указания группы компьютеров, можно использовать адрес сети или подстановочный знак «*» (подробнее см. справку man exports);
Строк с записями о разделяемых ресурсах может быть добавлено несколько. После внесения изменений для того, чтобы они вступили в силу, нужно выполнить команду
Безопасный экспорт разделяемых ресурсов
- Протокол передачи данных NFS поддерживает защитное преобразование данных начиная с версии 4 (NFSv4).
А следующая строка файла/etc/exports, напротив, определяет для того же каталога компьютеру master.astralinux.ru разрешение только на чтение, а всем остальным разрешает не только чтение, но и запись
Отличие конфигураций состоит всего в одном пробеле после имени компьютера :
Чтобы избежать подобных ошибок,
проверяйте все настроенные общие ресурсы NFS с помощью команды showmount:
- Не рекомендуется использование параметра no_root_squash, так как потенциально создает угрозы безопасности, связанные с возможностью удаленного внедрения в файловую систему вредоносного ПО. По умолчанию, в общих ресурсах NFS пользователь root становится обычным пользователем nfsnobody. Таким образом, владельцем всех файлов, созданных root, становится пользователь nfsnobody, что предотвращает загрузку на сервер программ с установленным битом setuid.
Настройка клиента
После установки клиентского пакета nfs-common, на компьютере — клиенте следует примонтировать разделяемые ресурсы. Список доступных ресурсов можно проверить, выполнив команду:
sudo showmount -e 192.168.1.10
Export list for 192.168.1.10:
/srv/nfsshare 192.168.1.20
Монтируем ресурс
Чтобы примонтировать разделяемый ресурс на клиентской машине:
- Создать на клиентской машине точку монтирования, например, каталог /mnt/share:
Команда выдаст строку (строки) с информацией о примонтированном ресурсе (ресурсах). Кроме того, можно использовать команду проверки свободного места на всех примонтированных ресурсах:
Автоматическое монтирование ресурса при загрузке
Чтобы ресурс NFS монтировался автоматически при перезагрузки ОС, его нужно зарегистрировать в файле /etc/fstab добавив строчку вида
Автоматическое монтирование ресурса по запросу
Автоматическое монтирование ресурсов NFS можно выполнить с помощью пакета autofs.
Решение проблемы зависания графических приложений
При работе в сессии с ненулевой классификационной меткой с одновременным использованием файловых систем NFS и Samba возможна нештатная работа графических приложений. Нарушение работы приложения может проявляться, например, «в зависаниях» текстового редактора kate, и вызвано несовместимостью службы rpcbind с работой КСЗ Astra Linux Special Edition. Д ля устранения нарушений работы следует остановить и запретить службу rpcbind:
Для находящихся в эксплуатации систем Astra Linux следует использовать рекомендованную для работы с информацией ограниченного доступа сетевую файловую систему Samba SMB/CIFS.
Сетевая файловая система (NFS)
NFS позволяет системе предоставлять в общее пользование каталоги и файлы другим системам через сеть. С помощью NFS пользователи и программы могут получить доступ к файлам на удаленной системе так же, как если бы они были локальными файлами.
Некоторые наиболее значимые преимущества, предоставляемые NFS:
Локальные рабочие станции используют меньше дискового пространства, поскольку совместно используемые данные можно сохранять на одной машине, а другим предоставлять к ним доступ по сети.
Нет необходимости пользователям иметь отдельные домашние каталоги на каждом компьютере в сети. Домашние каталоги могут устанавливаться на NFS сервер и предоставляться через сеть.
Такие накопители, как флоппи-дисководы, CDROM и USB флэш диски могут использоваться другими машинами в сети. Это может уменьшить количество приводов удаляемых устройств в вашей сети.
Установка
Для установки NFS срвера в терминале наберите следующую команду:
sudo apt-get install nfs-kernel-server
Настройка
Вы можете настроить какие каталоги будут экспортированы, добавив их в файл /etc/exports. Например:
/ubuntu *(ro,sync,no_root_squash) /home *(rw,sync,no_root_squash)
Вы можете заменить * на один из форматов сетевого имени. Делайте объявление сетевого имени настолько точным, насколько это возможно, чтобы нежелательные системы не смогли получить доступ к ресурсам монтирования NFS.
Для запуска NFS сервера вы можете выполнить следующую команду в терминале:
sudo /etc/init.d/nfs-kernel-server start
Настройка клиента NFS
Используйте команду mount для подключения NFS каталога общего пользования другой машины, набрав в терминале команду, похожую на приведенную ниже:
sudo mount example.hostname.com:/ubuntu /local/ubuntu
Каталог точки монтирования /local/ubuntu должен существовать. В нем не должно быть никаких файлов или поддиректорий.
Альтернативным вариантом подключения NFS ресурса является добавления строки в файл /etc/fstab. Строка должна содержать сетевое имя NFS сервера, экспортируемый каталог на сервере и каталог на локальной машине, куда будет монтироваться NFS ресурс.
Общий синтаксис для этой строки в файле /etc/fstab следующий:
example.hostname.com:/ubuntu /local/ubuntu nfs rsize=8192,wsize=8192,timeo=14,intr
Если вы испытываете сложности с монтированием NFS ресурса, убедитесь, что пакет nfs-common установлен на вашем клиенте. Для установки пакета nfs-common введите следующую команду в терминале:
sudo apt-get install nfs-common