Проверка идентичных файлов в Linux и удаление в соответствии с местоположением

Разрешения защищают только от других пользователей системы, которые получают доступ к системе с помощью обычных программных средств. Они совершенно бесполезны против кого-то, у кого есть доступ к оборудованию, от этого может защитить только шифрование. Установка разрешений подобна написанию «секрета» на конверте; он работает, если операционная система - единственная сущность, которая управляет конвертом, но не в том случае, если злоумышленник украл конверт.

Места, куда могут попасть важные файлы, включают в основном:

  • область подкачки;
  • / tmp (если она не находится в ОЗУ);
  • / var / tmp (но там пишут мало программ);
  • электронная почта и принтер (и, возможно, другие) катятся под / var / spool ;
  • возможно некоторая информация в / etc , например Пароли Wi-Fi.

Трудно быть уверенным, что закрыли все конфиденциальные файлы; в целях безопасности вам нужно зашифровать весь / var .Более того, нет простого способа (или даже умеренно продвинутого) разместить системные файлы в ecryptfs: ecryptfs в основном ориентирован на шифрование файлов одного пользователя. Хотя это не является математически невозможным, я бы не рекомендовал пытаться это сделать, если вы не знаете, что делать, если он сломается (и он сломается); это одна из тех вещей, которые нужно спросить, а потом не делать. Я не стал бы этого делать, я бы вместо этого зашифрую всю систему.

Вы можете зашифровать систему после установки, но это непросто. Основная идея: загрузиться с загрузочного носителя, сжать существующий раздел, чтобы он занимал меньше всего диска, переместить его в конец диска, создать зашифрованный контейнер в теперь уже свободном начале диска, создать на нем том LVM, создайте файловую систему, переместите файлы из области открытого текста, измените размер тома открытого текста до небольшого (~ 200 МБ), переместите / boot в том открытого текста, расширите зашифрованный контейнер и том LVM на весь disk, снова освободите место для подкачки, увеличьте файловую систему, смонтируйте том с открытым текстом в / boot , переустановите Grub и заново сгенерируйте initramfs. (Надеюсь, я ничего не забыл…)

Если вас беспокоят конфиденциальные файлы вне дома, переустановка, вероятно, будет проще.

Более легким компромиссом было бы сделать / home зашифрованным томом, а не зашифровывать свой домашний каталог как дерево каталогов. (Это также может немного улучшить производительность.) Основная идея такова:

  1. Загрузка с загрузочного носителя.
  2. Сжать существующую файловую систему и содержащий раздел ( ext2resize , parted ).
  3. Создайте том dmcrypt в освобожденном пространстве ( cryptsetup ).
  4. Создайте два тома LVM на томе dmcrypt ( pvcreate , vgcreate , lvcreate × 2), один для обмена ( mkswap ) и один для / home ( mkfs ).
  5. Установите том для / home и переместите туда / home .
  6. Обновите / etc / fstab и / etc / crypttab .
  7. Теперь вы можете переместить другие важные каталоги (например, каталог принтера) в / home и создать символическую ссылку для перехода по ним.
  8. Чтобы защитить конфиденциальные файлы, которые вы только что стерли, сотрите свободное место на томе с открытым текстом .

1
29.11.2018, 14:16
1 ответ

Нет, хеш — это единственный быстрый способ узнать, совпадают ли многофайловые файлы, но вы можете ускорить его, сравнивая только файлы одинакового размера, также выберите быстрый хеш, например md5, если никто не пытается найти коллизии.. это делается для вас с помощью git/zfs/etc

Или просто

fdupes -r A B | grep B | xargs -I {} rm "{}"
2
27.01.2020, 23:31

Теги

Похожие вопросы