| Информация | ||
|---|---|---|
| ||
|
Пакет samba (с поддержкой MIT Kerberos) входит в стандартные дистрибутивы Astra Linux, но по умолчанию не устанавливается.
Дополнительно, в стандартный дистрибутив входит графический инструмент для настройки samba - fly-admin-samba.
Вариант samba с поддержкой Heimdal Kerberos доступен по ссылке.
Быстрая установка
Установку можно сделать из Графический менеджер пакетов synaptic, или из командной строки.
Можно сразу установить графический инструмент администрирования fly-admin-samba, пакет samba при этом установится автоматически:
| Command |
|---|
sudo apt install fly-admin-samba |
После установки графического инструмента он станет доступен в меню "Пуск" > "Панель управления" > "Сеть" > "Общие папки (Samba)"
Быстрая настройка и запуск
Для быстрой настройки сервиса запустите графический инструмент:
| Информация |
|---|
| "Пуск" > "Панель управления" > "Сеть" > "Общие папки (Samba)" |
С помощью графического инструмента возможно выполнение большинства действий по администрированию разделяемых ресурсов сервиса samba:
- Задание имени рабочей группы;
- Запуск/остановка сервиса;
- Определение разделяемых ресурсов;
- Определение списка пользователей;
- Настройка аутентификации пользователей через Kerberos;
Настройка анонимного разделяемого каталога
| Предупреждение |
|---|
Приведенные ниже настройки предоставляют полный доступ как на чтение, так и на запись ко всем файловым объектам каталога всем пользователям без аутентификации. |
Для создания разделяемого ресурса, доступного без аутентификации:
Создать разделяемый каталог, к которому будет предоставлен полный доступ (например, каталог /srv/share):
Command sudo mkdir /srv/share
Установить на созданный каталог права доступа 0775 и сделать владельцем пользователя nobody ("никто") и группу nogroup ("никакая"):
Command sudo chown nobody:nogroup /srv/share
sudo chmod 775 /srv/shareВ конфигурационный файл /etc/samba/smb.conf внести следующие исправления:
Убедиться, что в секции [global] присутствует параметр map to guest, имеющий значение Bad User, в случае отсутствия - добавить его в секцию:
Блок кода map to guest = Bad User
Параметр разрешает работу пользователей, не прошедших аутентификацию, в том числе работу с анонимными разделяемым ресурсами;
Добавить секцию вида:
Блок кода [share] comment = <Произвольный комментарий> guest ok = yes path = /srv/share read only = no create mask = 0666
Предупреждение Анонимное подключение с параметрами по умолчанию принудительно обеспечивают для всех подключений к ресурсу подключение от имени nobody ("никто") и группы nogroup ("никакая"), что ограничивает возможность несанкционированных действий. Однако, однако применение этих параметров имеет нежелательный побочный эффект: все файловые объекты, создаваемые на ресурсе, получают владельца nobody:nogroup независимо от того, кто их создавал, то есть доступны всем анонимным пользователям, подключающимся к разделяемому ресурсу.
Кроме того, по умолчанию владельцу файлов (а при анонимном доступе это пользователь nobody) разрешается их исполнение (маска прав доступа создаваемых файлов 744). Для предотвращения возможности исполнения нежелательных анонимно загруженных файлов в примере выше использована опция create mask = 0666, запрещающая установку битов исполнения в маске файла.Для запрета изменения файловых ресурсов параметр read only привести к виду:
Блок кода read only = yes
Проверить корректность конфигурационного файла:
Command testparm
Перезапустить службу samba, чтобы изменения вступили в силу:
Command sudo systemctl restart smbd
Тонкая настройка
Основной файл настройки сервиса samba - /etc/samba/smb.conf - содержит значительное количество комментариев по проведению настройки.
| Примечание | ||
|---|---|---|
После изменения имени рабочей группы в файле /etc/samba/smb.conf
|
Инструменты командной строки для samba
Для того, чтобы проверить разделяемые ресурсы samba, доступные в сети, можно использовать команду
Command smbtree Эта команда выводит дерево рабочих групп, и принадлежащих им ресурсов (файлов, принтеров и пр.) всех серверов samba, доступных в сети.
- Для работы с конкретным ресурсом можно использовать команду smbclient:
Список ресурсов конкретного сервера с именем hostname:
Command smbclient -L hostname Анонимная работа с разделяемым ресурсом share предоставляемым сервером hostname:
Command smbclient -N \\\\hostname\\share После запуска команды в интерактивном режиме доступны команды для просмотра содержимого разделяемых каталогов, создания и удаления поддиректорий и пр. Полный список команд доступен по команде help
Настройка клиентов
Простой доступ к ресурсам
Для доступа к ресурсам следует использовать пункт "Сеть" - "Создать сетевое место" в верхнем меню файлового менеджера, в открывшейся форме ввода указать имя сервиса, и его адрес.
Примеры форматов задания адресов имеются непосредственно в форме ввода.
Монтирование ресурсов
Для монтирования ресурсов на клиентские машины следует установить пакет cifs-utils, который входит в дистрибутивы, но по умолчанию не устанавливается:
| Command |
|---|
| sudo apt install cifs-utils |
Анонимное монтирование ресурсов
После установки пакета анонимное монтирование ресурсов (при условии их доступности) будет доступно командой mountкомандой mount, например:
| Command |
|---|
| sudo mount -t cifs //10.0.10.201/share /mnt -o users,sec=none |
Где:
- //10.0.10.201/share - ресурс "share" на сервере 10.0.10.201
- /mnt - точка монтирования
Автоматическое монтирование ресурсов
Для того, чтобы сетевой ресурс монтировался при загрузке системы, необходимо в конфигурационный файл /etc/fstab добавить строчку вида:
| Информация |
|---|
| //10.0.10.201/share /mnt cifs credentials=/root/.smbclient,rw,nosharesock,soft,noperm 0 0 |
Комментарий по используемым и возможным опциям:
| Опция | Комментарий | ||||
|---|---|---|---|---|---|
| noauto | Запретить автоматическое монтирование ресурса (при загрузке или по команде mount -a). | ||||
| credentials= | Имя файла, содержащего логин и пароль samba для автоматического монтирования. Формат файла:
Параметр domain можно не указывать, если доменное имя не используется.
| ||||
| noperm | Клиент не выполняет проверку прав доступа. Это позволяет предоставить доступ к файловым объектам этой точки монтирования другим локальным пользователям клиентской системы. | ||||
| nosharesock | Принудительное создание на сервере нового отдельного сокета (позволяет создать несколько независимых точек монтирования для разных пользователей). | ||||
| rw | Разрешение на чтение и на запись. | ||||
| ro | Разрешение только на запись. | ||||
| soft | При отказе сервера программы, работающие с примонтированными ресурсами, не зависают, а возвращают ошибку. Это режим по умолчанию. | ||||
| user | Разрешение монтировать от имени непривилегированного пользователя. |
Дополнительно можно использовать параметр монтирования vers=, позволяющий выбрать версию протокола монтирования. Если параметр не указан, то в современных обновлениях Astra Linux по умолчанию выбирается максимально доступная версия протокола (версия 3.11). Список доступных версий протокола монтирования доступен в описании параметра в справочной системе man (man mount.cifs). Узнать версию протокола, использующегося для существующего монтирования, можно командой:
| Command |
|---|
| cat /proc/fs/cifs/DebugData | grep Dialect |
Получить список версий протокола монтирования, поддерживаемых сервером, можно установив пакет nmap (требуется подключение расширенного репозитория и выполнить команду:
| Command | ||
|---|---|---|
| ||
Starting Nmap 7.70 ( https://nmap.org ) at 2024-12-05 17:26 MSK PORT STATE SERVICE Host script results: |
Автоматическое монтирование ресурсов по запросу
Автоматическое монтирование ресурсов по запросу выполняется с помощью пакета autofs.
Обнаружение серверов samba другими компьютерами
Для того, чтобы другие компьютеры (в том числе компьютеры Windows) в сети могли обнаруживать компьютеры под управлением Astra Linux (в том числе — обнаруживать серверы samba для дальнейшего запрос их ресурсов) необходимо установить пакет wsdd:
| Command |
|---|
| sudo apt install wsdd |
Для применения wsdd с указанной целью дополнительных настроек после установки не требуется.