Подробный гайд: создание и настройка файлового сервера на 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→ аутентификация по учётным записям Linuxvfs 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
2775→setgidгарантирует, что новые файлы/папки наследуют группу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-клиента:
- Откройте Проводник →
\\<IP_сервера>\Общая_папка - Введите логин/пароль, указанные в шаге 5.
- Проверьте создание/удаление файлов, работу корзины.
С 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.
Решение:
- Проверить метки:
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
Рекомендации для продакшена:
- Регулярные бэкапы:
sudo rsync -a /srv/samba/ /backup/samba/ - Мониторинг места:
df -h /srv/samba, настройкаquota - Обновление Samba:
sudo apt upgrade samba(тестируйте в staging) - Для SE: настройка политик МДП через
astra-controlилиpdpl-file