Подробный гайд: Куда удаляются файлы из общей папки в Astra Linux

Куда деваются удалённые файлы в общих папках Astra Linux: сценарии удаления, поиск корзины, восстановление данных и настройка Samba vfs_recycle

2026.04.25                  


Подробный гайд: Куда удаляются файлы из общей папки в Astra LinuxПодробный гайд: Куда удаляются файлы из общей папки в Astra Linux

Сценарий 1: Удаление через графический файловый менеджер (fly-fm, Double Commander)

При удалении файлов на примонтированных сетевых ресурсах через графические файловые менеджеры (fly-fm, Double Commander) создаётся специальная папка вида .Trash-%uid% или .Trash-1000, куда перемещаются удалённые файлы.

Где искать:

/путь/к/сетевой/папке/.Trash-1000/files/     # сами файлы
/путь/к/сетевой/папке/.Trash-1000/info/      # метаданные (.trashinfo)

Папка .Trash-* создаётся на самом сетевом ресурсе, а не на локальном компьютере.

Особенности:

  • Корзина работает только если файловая система сетевого ресурса поддерживает создание скрытых папок и прав доступа
  • При удалении через Shift+Del или с опцией «мимо корзины» файлы удаляются безвозвратно
  • У разных пользователей создаются отдельные корзины по UID

Сценарий 2: Общая папка через Samba с настроенной корзиной (vfs_recycle)

Если администратор настроил модуль vfs_recycle в Samba, удалённые файлы попадают в специальную директорию, заданную параметром recycle:repository.

Пример конфигурации /etc/samba/smb.conf:

[global]
    vfs objects = recycle
    recycle:repository = /samba/recycle/%S
    recycle:keeptree = yes
    recycle:versions = yes
    recycle:touch = yes
    recycle:exclude = ~$* *.tmp *.bak *.log

[RECYCLE$]
    path = /samba/recycle
    read only = no
    browseable = no  # скрыть от обычных пользователей

Ключевые параметры:

Параметр Описание
recycle:repository Путь к хранилищу корзины. %S — имя шары, %U — имя пользователя
recycle:keeptree Сохранять структуру папок при удалении
recycle:versions Добавлять нумерацию при конфликте имён (Copy #1 of file.txt)
recycle:touch Обновлять время изменения файла на момент удаления
recycle:exclude Исключить определённые типы файлов из корзины

Важно:

  • корзина Samba может располагаться только в той же файловой системе, что и общая папка, так как используются hard links.

Где искать восстановленные файлы:

/путь/к/репозиторию/имя_шары/пользователь/оригинальный/путь/файл

Сценарий 3: Удаление через консоль (rm, unlink)

При удалении файлов командами терминала (rm, unlink) корзина не используется — файлы удаляются напрямую из файловой системы.

Последствия:

  • Файлы не попадают ни в .Trash, ни в Samba-корзину
  • Восстановление возможно только специализированными утилитами: ext4magic, TestDisk, PhotoRec, R-Linux
  • Шансы на восстановление резко падают после перезаписи блоков диска

В Astra Linux Special Edition при включённом режиме «безопасного удаления» восстановление невозможно даже спецсредствами.


Сценарий 4: Удаление с Windows-клиента через SMB

При подключении к общей папке Samba с Windows:

  • По умолчанию файлы удаляются без корзины (если не настроен vfs_recycle)
  • Если корзина Samba настроена — файлы попадают в recycle:repository как описано выше
  • Локальная корзина Windows не затрагивается

Как проверить, куда деваются файлы

1. Проверить наличие корзины на сетевом ресурсе:

ls -la /mnt/общая_папка/ | grep -i trash
# или для Samba-корзины:
ls -la /samba/recycle/

2. Проверить конфигурацию Samba:

grep -A 10 "vfs.*recycle" /etc/samba/smb.conf
testparm -v | grep recycle

3. Протестировать удаление:

# Создать тестовый файл
echo "test" > /mnt/share/test_delete.txt

# Удалить через GUI или консоль
# Проверить появление в .Trash или recycle:repository

Как восстановить удалённые файлы

Если файл в корзине (.Trash или recycle:repository):

  1. Найти папку .Trash-*/files/ или /samba/recycle/...
  2. Скопировать файл обратно в исходное расположение
  3. При необходимости восстановить права: chown, chmod

Если файл удалён мимо корзины:

1. Немедленно отмонтировать раздел или смонтировать в режиме «только чтение»:
   sudo umount /dev/sdXY
   # или
   sudo mount -o remount,ro /dev/sdXY
2. Создать образ диска (рекомендуется):
   sudo apt install gddrescue
   sudo ddrescue /dev/sdXY backup.img recovery.log
3. Использовать инструменты восстановления:
  • ext4magic — для ext3/ext4: sudo ext4magic -m /dev/sdXY
  • TestDisk/PhotoRec — универсальные: sudo photorec /dev/sdXY
  • R-Linux — графический интерфейс

Настройка: как заставить файлы удаляться в корзину

Для Samba (рекомендуемый способ):

  1. Отредактируйте /etc/samba/smb.conf как показано выше
2. Создайте директорию корзины:
   mkdir -p /samba/recycle
   chown root:sambashare /samba/recycle
   chmod 2770 /samba/recycle
3. Перезапустите Samba:
   sudo systemctl restart smbd nmbd

Для предотвращения создания `.

Trash` на сетевых ресурсах:

  • В Double Commander можно включить «Удаление без корзины» в настройках, но это затронет и локальные файлы. Альтернатива — обучить пользователей использовать Shift+Del для сетевого удаления.

Чек-лист для администратора

  • Настроить vfs_recycle в Samba с отдельной скрытой папкой
  • Ограничить доступ к корзине только для администраторов
  • Настроить скрипт очистки корзины по расписанию (cron):
# /root/recycle-clean.sh
find /samba/recycle/ -type f -mtime +30 -delete
# crontab -e
0 2 * * * /root/recycle-clean.sh
  • Проинструктировать пользователей о различиях между удалением через GUI и консоль
  • Настроить регулярное резервное копирование — это единственный гарантированный способ защиты