Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
- Astra Linux Special Edition РУСБ.10015-17
- Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
- Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
- Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
- Astra Linux Special Edition РУСБ.10015-16 исп. 1
- Astra Linux Special Edition РУСБ.10015-16 исп. 2
- Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
- Astra Linux Common Edition 2.12
Пакет samba (с поддержкой MIT Kerberos) входит в стандартные дистрибутивы Astra Linux, но по умолчанию не устанавливается.
Дополнительно, в стандартный дистрибутив входит графический инструмент для настройки samba - fly-admin-samba.
Вариант samba с поддержкой Heimdal Kerberos доступен по ссылке.
Быстрая установка
Установку samba можно сделать с помощью графического менеджера пакетов synaptic или из командной строки. Можно сразу установить графический инструмент администрирования fly-admin-samba, пакет samba при этом установится автоматически. Пример команды для установки графического пакета:
Быстрая настройка и запуск
Для быстрой настройки сервиса запустить графический инструмент:
С помощью графического инструмента возможно выполнение большинства действий по администрированию разделяемых ресурсов сервиса samba:
- задание имени рабочей группы;
- запуск/остановка сервиса;
- определение разделяемых ресурсов;
- определение списка пользователей;
- настройка аутентификации пользователей через Kerberos;
Настройка анонимного разделяемого каталога
Приведенные ниже настройки предоставляют полный доступ как на чтение, так и на запись ко всем файловым объектам каталога всем пользователям без аутентификации.
Для создания разделяемого ресурса, доступного без аутентификации:
Создать разделяемый каталог, к которому будет предоставлен полный доступ (например, каталог /srv/share):
sudo mkdir /srv/shareУстановить на созданный каталог права доступа 0775 и сделать владельцем пользователя nobody ("никто") и группу nogroup ("никакая"):
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
Проверить корректность конфигурационного файла:
testparmПерезапустить службу samba, чтобы изменения вступили в силу (в актуальных обновлениях перезапуск не требуется, изменения конфигурационного файла применяются автоматически):
sudo systemctl restart smbd
Тонкая настройка
Основной файл настройки сервиса samba - /etc/samba/smb.conf - содержит значительное количество комментариев по проведению настройки.
После изменения имени рабочей группы в файле /etc/samba/smb.conf для того, чтобы изменения немедленно стали доступны другим машинам нужно перезапустить не только сервис samba (smbd), но и сервис nmbd, обслуживающий запросы имён netbios:
Инструменты командной строки для samba
Для того, чтобы проверить разделяемые ресурсы samba, доступные в сети, можно использовать команду
smbtreeЭта команда выводит дерево рабочих групп, и принадлежащих им ресурсов (файлов, принтеров и пр.) всех серверов samba, доступных в сети.- Для работы с конкретным ресурсом можно использовать команду smbclient:
Список ресурсов конкретного сервера с именем hostname:
smbclient -L hostnameАнонимная работа с разделяемым ресурсом share предоставляемым сервером hostname:
smbclient -N \\\\hostname\\shareПосле запуска команды в интерактивном режиме доступны команды для просмотра содержимого разделяемых каталогов, создания и удаления поддиректорий и пр. Полный список команд доступен по команде help
Настройка клиентов
Простой доступ к ресурсам
Для доступа к ресурсам следует использовать пункт "Сеть" - "Создать сетевое место" в верхнем меню файлового менеджера, в открывшейся форме ввода указать имя сервиса, и его адрес.
Примеры форматов задания адресов имеются непосредственно в форме ввода.
Монтирование ресурсов
Для монтирования ресурсов на клиентские машины следует установить пакет cifs-utils, который входит в дистрибутивы, но по умолчанию не устанавливается:
Анонимное монтирование ресурсов
После установки пакета анонимное монтирование ресурсов (при условии их доступности) будет доступно командой mount, например:
- //10.0.10.201/share - ресурс "share" на сервере 10.0.10.201
- /mnt - точка монтирования
Автоматическое монтирование ресурсов
Для того, чтобы сетевой ресурс монтировался при загрузке системы, необходимо в конфигурационный файл /etc/fstab добавить строчку вида:
Комментарий по используемым и возможным опциям:
| Опция | Комментарий |
|---|---|
| noauto | Запретить автоматическое монтирование ресурса (при загрузке или по команде mount -a). |
| credentials= | Имя файла, содержащего логин и пароль samba для автоматического монтирования. Формат файла: username=samba_user_name password=samba_user_password domain=astra.ru Параметр domain можно не указывать, если доменное имя не используется. Логин и пароль можно указать непосредственно в файле /etc/fstab (опции username= и password=), однако, следует помнить, что файл /etc/fstab обычно открыт на чтение для всех пользователей, так что логин и пароль рекомендуется указывать в отдельном файле, с ограниченным доступом. |
| noperm | Клиент не выполняет проверку прав доступа. Это позволяет предоставить доступ к файловым объектам этой точки монтирования другим локальным пользователям клиентской системы. |
| nosharesock | Принудительное создание на сервере нового отдельного сокета (позволяет создать несколько независимых точек монтирования для разных пользователей). |
| rw | Разрешение на чтение и на запись. |
| ro | Разрешение только на запись. |
| soft | При отказе сервера программы, работающие с примонтированными ресурсами, не зависают, а возвращают ошибку. Это режим по умолчанию. |
| user | Разрешение монтировать от имени непривилегированного пользователя. |
Дополнительно можно использовать параметр монтирования vers=, позволяющий выбрать версию протокола монтирования. Если параметр не указан, то в современных обновлениях Astra Linux по умолчанию выбирается максимально доступная версия протокола (версия 3.11). Список доступных версий протокола монтирования доступен в описании параметра в справочной системе man (man mount.cifs). Узнать версию протокола, использующегося для существующего монтирования, можно командой:
Получить список версий протокола монтирования, поддерживаемых сервером, можно установив пакет nmap (требуется подключение расширенного репозитория и выполнить команду:
Starting Nmap 7.70 ( https://nmap.org ) at 2024-12-05 17:26 MSK
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00036s latency).
Other addresses for localhost (not scanned): ::1
PORT STATE SERVICE
445/tcp open microsoft-ds
Host script results:
| smb-protocols:
| dialects:
| NT LM 0.12 (SMBv1) [dangerous, but default]
| 2.02
| 2.10
| 3.00
| 3.02
|_ 3.11
Автоматическое монтирование ресурсов по запросу
Автоматическое монтирование ресурсов по запросу выполняется с помощью пакета autofs.
Обнаружение серверов samba другими компьютерами
Для того, чтобы другие компьютеры (в том числе компьютеры Windows) в сети могли обнаруживать компьютеры под управлением Astra Linux (в том числе — обнаруживать серверы samba для дальнейшего запрос их ресурсов) необходимо установить пакет wsdd:
Для применения wsdd с указанной целью дополнительных настроек после установки не требуется.