Подробный гайд: создание и настройка файлового сервера на Astra Linux

Настройка файлового сервера на Astra Linux через Samba: установка, конфигурация, пользователи, фаервол, совместимость с Windows/Linux.

2026.04.21                  


Подробный гайд: создание и настройка файлового сервера на Astra LinuxПодробный гайд: создание и настройка файлового сервера на Astra Linux Данный гайд ориентирован на Astra Linux Common Edition (CE) и Special Edition (SE). В качестве основы используется Samba (реализация протоколов SMB/CIFS), так как это стандарт для кроссплатформенного обмена файлами (Windows, Linux, macOS, мобильные устройства).

Важно:

  • Все команды выполняются от имени пользователя с правами sudo. Рекомендуется работать в терминале или через SSH.

1. Подготовка системы

# Обновление списков пакетов и системы
sudo apt update
sudo apt upgrade -y

# Назначение статического IP (обязательно для сервера)
sudo nano /etc/network/interfaces
# Пример конфигурации:
# auto eth0
# iface eth0 inet static
#   address 192.168.1.10/24
#   gateway 192.168.1.1
#   dns-nameservers 192.168.1.1 8.8.8.8

sudo systemctl restart networking
# Проверка: ip a, ping 8.8.8.8

2. Установка Samba

sudo apt install -y samba samba-common-bin

Пакет автоматически создаст:

  • группу sambashare
  • конфигурационный файл /etc/samba/smb.conf
  • системные юниты smb.service и nmb.service

3. Настройка конфигурации Samba

Создаём резервную копию и редактируем основной конфиг:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo nano /etc/samba/smb.conf

Минимальная рабочая конфигурация

Замените содержимое на следующее (или добавьте в конец существующего файла):

[global]
   workgroup = WORKGROUP
   server string = Astra File Server
   security = user
   map to guest = never
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1000
   vfs objects = recycle
   recycle:repository = .recycle/%U
   recycle:keeptree = yes
   recycle:versions = yes

[Общая_папка]
   comment = Общий ресурс
   path = /srv/samba/share
   browseable = yes
   read only = no
   create mask = 0664
   directory mask = 0775
   valid users = @sambashare
   force group = sambashare
   veto files = /._*/.DS_Store/Thumbs.db/
   delete veto files = yes

Пояснения:

  • security = user → аутентификация по учётным записям Linux
  • vfs objects = recycle → встроенная корзина для удалённых файлов
  • valid users = @sambashare → доступ только членам группы
  • veto files → скрытие мусорных файлов Windows/macOS

Проверка синтаксиса:

testparm

Если ошибок нет → двигаемся дальше.


4. Создание директорий и настройка прав

sudo mkdir -p /srv/samba/share
sudo chown -R root:sambashare /srv/samba/share
sudo chmod -R 2775 /srv/samba/share
  • 2775setgid гарантирует, что новые файлы/папки наследуют группу sambashare
  • Корзина .recycle будет создана автоматически при первом подключении

5. Создание пользователей Samba

Пользователь Samba должен существовать в системе и иметь отдельный пароль для шары.

# Создание системного пользователя (без входа в оболочку)
sudo adduser --disabled-password --gecos "" ivanov
# Или для существующего: просто переходим к следующему шагу

# Добавление в группу samba
sudo usermod -aG sambashare ivanov

# Установка пароля для Samba
sudo smbpasswd -a ivanov

Пароль для Samba не обязан совпадать с системным. Рекомендуется использовать сложные пароли и политику смены.

Проверка:

sudo pdbedit -L

6. Настройка фаервола

Если используется ufw (по умолчанию в CE):

sudo ufw allow samba
sudo ufw enable
sudo ufw status verbose

Правило откроет: 137,138/udp и 139,445/tcp.

Если используется iptables (часто в SE или кастомных сборках):

sudo iptables -A INPUT -p tcp --dport 139 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 445 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 137 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 138 -j ACCEPT
sudo iptables-save | sudo tee /etc/iptables/rules.v4

7. Запуск и автозагрузка сервисов

sudo systemctl enable --now smbd nmbd
sudo systemctl status smbd nmbd

Ожидаемый статус: active (running).


8. Проверка работы

С сервера:

smbclient -L //localhost -U ivanov
# Введите пароль Samba. Должен отобразиться список шар.

С Windows-клиента:

  1. Откройте Проводник → \\<IP_сервера>\Общая_папка
  2. Введите логин/пароль, указанные в шаге 5.
  3. Проверьте создание/удаление файлов, работу корзины.

С Linux-клиента:

sudo apt install cifs-utils
sudo mount -t cifs //192.168.1.10/Общая_папка /mnt -o username=ivanov,password=ваш_пароль,iocharset=utf8

9. Особенности Astra Linux

Common Edition (CE)

  • Стандартная Debian-совместимая среда. Все шаги выше работают без изменений.
  • Аудит и логирование: /var/log/samba/, /var/log/auth.log, /var/log/syslog

Special Edition (SE)

  • Включён Мандатный контроль доступа (МДП/Parsec). Он может блокировать доступ Samba к /srv/samba/share.

Решение:

  1. Проверить метки: ls -lZ /srv/samba/
2. Назначить допустимые метки:
     sudo chsmack -a "*" /srv/samba/share
     sudo chsmack -e "*" /srv/samba/share

3. Либо отключить МДП для сервиса (не рекомендуется для сертификации):

     sudo astra-control policy set --disable-mac smbd

4. Включить аудит Samba в auditd: добавьте в /etc/audit/audit.rules:

``` -w /etc/samba/ -p wa -k samba_conf -w /srv/samba/ -p wa -k samba_data

Перезапустите: `sudo systemctl restart auditd`

- Для соответствия ФСТЭК используйте шифрование SMB3 (`server smb encrypt = required` в `[global]`) и отключите SMB1 (`server min protocol = SMB2_10`).

---

#### 10. Диагностика и типичные проблемы

| Симптом | Причина | Решение |
|--------|---------|---------|
| `Access denied` | Нет в группе `sambashare` или неверный пароль `smbpasswd` | `sudo usermod -aG sambashare user`, `sudo smbpasswd user` |
| `Network name not found` | Фаервол блокирует порты или `nmbd` не запущен | `sudo ufw allow samba`, `sudo systemctl restart nmbd` |
| Файлы создаются с неправильными правами | `create mask`/`directory mask` не настроены | Проверьте `smb.conf`, выполните `testparm` |
| Корзина не работает | `vfs objects = recycle` не указан или нет прав на `.recycle` | Добавьте в `[global]`, проверьте права `chown root:sambashare /srv/samba/share/.recycle` |
| Медленная работа сети | Отключено SMB3, включены устаревшие опции | `server min protocol = SMB2_10`, `aio read size = 16384` |

#### Логи Samba:

tail -f /var/log/samba/log.smbd journalctl -u smbd -f ```


Заключение

Вы получили рабочий файловый сервер на Astra Linux с:

  • Аутентификацией по пользователям
  • Общими шарами с контролем прав
  • Встроенной корзиной удалённых файлов
  • Защитой фаерволом
  • Совместимостью с Windows/Linux/macOS

Рекомендации для продакшена:

  1. Регулярные бэкапы: sudo rsync -a /srv/samba/ /backup/samba/
  2. Мониторинг места: df -h /srv/samba, настройка quota
  3. Обновление Samba: sudo apt upgrade samba (тестируйте в staging)
  4. Для SE: настройка политик МДП через astra-control или pdpl-file