Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
- 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 доступен по ссылке.
Быстрая установка
Установку можно сделать из Графический менеджер пакетов 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 force user = nobody force group = nogroup path = /srv/share read only = no
Параметры force user и force group принудительно обеспечивают для всех подключений к ресурсу подключение от имени nobody ("никто") и группы nogroup ("никакая"), что ограничивает возможность несанкционированных действий, однако применение этих параметров имеет нежелательный побочный эффект: все файловые объекты, создаваемые на ресурсе, получают владельца nobody:nogroup независимо от того, кто их создавал.Для запрета изменения файловых ресурсов параметр 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, который входит в дистрибутивы, но по умолчанию не устанавливается:
- //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