Для «АудитГрупп» мы настроили два типа доступа: Samba (SMB) для работы из офиса и Nextcloud для доступа из дома и с мобильных.
Структура Samba-шар с разграничением по отделам:
# Создаём датасеты ZFS под каждый отдел
zfs create datapool/shared # Общая папка
zfs create datapool/accounting # Бухгалтерия
zfs create datapool/audit # Аудиторы
zfs create datapool/management # Руководство
zfs create -o quota=500G datapool/temp # Временные файлы, квота 500 ГБ
Настройка Samba через TrueNAS UI или конфиг:
# /etc/samba/smb.conf (TrueNAS генерирует автоматически)
[global]
workgroup = AUDITGROUP
server string = NAS FileServer
security = user
map to guest = Never
vfs objects = shadow_copy2 zfsacl
shadow:snapdir = .zfs/snapshot
shadow:sort = desc
shadow:format = autosnap_%Y-%m-%d_%H:%M
[Бухгалтерия]
path = /mnt/datapool/accounting
valid users = @accounting
read only = no
create mask = 0660
directory mask = 0770
veto files = /*.exe/*.bat/*.cmd/
[Общая]
path = /mnt/datapool/shared
valid users = @all-staff
read only = no
create mask = 0664
directory mask = 0775
Обратите внимание на shadow_copy2 — модуль Samba, который показывает ZFS-снапшоты как «Предыдущие версии» в Windows. Пользователи могут восстановить удалённый файл через правый клик → Свойства → Предыдущие версии, без обращения к администратору.
Nextcloud для удалённого доступа:
# docker-compose.yml для Nextcloud
version: '3.8'
services:
nextcloud:
image: nextcloud:28-apache
ports:
- "8080:80"
volumes:
- /mnt/datapool/nextcloud/data:/var/www/html/data
- /mnt/datapool/nextcloud/config:/var/www/html/config
- /mnt/datapool/shared:/external/shared:ro # монтируем Samba-шары
- /mnt/datapool/accounting:/external/accounting:ro
environment:
- MYSQL_HOST=db
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=${NC_DB_PASS}
depends_on:
- db
db:
image: mariadb:11
environment:
- MYSQL_ROOT_PASSWORD=${DB_ROOT_PASS}
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=${NC_DB_PASS}
volumes:
- /mnt/datapool/nextcloud/db:/var/lib/mysql
Nextcloud смонтирован на те же ZFS-датасеты через External Storage — пользователи видят одни и те же файлы из офиса (Samba) и из дома (Nextcloud). Синхронизация не нужна, потому что данные хранятся в одном месте.
Оставить комментарий