Архивы: по дате | по разделам | по авторам

В лесу далёком клад зарыт

АрхивЛинуксоид (архив)
автор : Александр Супрунов   26.11.2002

Как спрятать от чужих глаз файлы в linux

В лесу далеком клад зарыт.
Над ним скала – сплошной гранит
Кирка в бессилии визжит
От взоров жадных клад укрыт.

И в нашем первозданном лесу под именем Линукс могут скрываться невидимые клады. Прежде всего, мы сами можем их зарыть. И не понадобится нам ни лопата, ни кирка, как в одноименном произведении. А вот отыскание их – задача нетривиальная, а проще и совсем безнадежная. Если конечно исключить, что в вашей семье все хакеры и даже утро начинается с того, что кто-то сделал «дефейс» вашего завтрака из микроволновки.

Но это оставим на крайний случай – тогда вы и так знаете, как укрыть свои персональные (то есть личные) данные от посторонних глаз. Да-да. Как раз об этом и пойдет речь. Когда-то, во времена безраздельного господства унылой однозадачной DOS я с сожалением мечтал о возможности спрятать одну из директорий от чужого взгляда. У кого-то это могли быть картинки энного содержания, у кого-то код программы, а кто-то просто жадный и когда друг приходит - ничего давать не хочет. А если бы была такая возможность недоступного клада – сказал бы нет ничего – видишь, под голой осью сижу.

В те времена ничего лучше придания атрибута невидимости каталогу не существовало (по крайней мере, мне попадалась всего одна программка якобы скрывающая директории не через атрибут, но я не смог ее заставить работать). А вот действительно великого и светлого – не было. Чтобы спрятать и знать, что никто не найдет.

Возможность такая появилась, когда мы стали пользоваться уникальным явлением - Линукс. Я расскажу несколько способов подобного кладозарывательства. Они не претендуют на какой-то великий подход и непередаваемые уму алгоритмы. Тем они в общем и хороши. Если вы уже прошли эти ступени, то вряд ли это может заинтересовать вас. Вы и без меня давно рулите послушной Линуксой носящейся где-то на скорости близкой к сверхсветовой. (У меня, например под Линуксом 700 Мб файл (да, тот самый в котором кино) переписывается за 40 секунд, что приводит в неописуемый восторг).

А вот остальные может и почитают. Зима на носу. Делать нечего. Ну раз нечего, приготовьте свои лопаты. Клавиатуры, конечно хотел сказать. Лопаты виртуальные. Будем клад зарывать.

ПРЕДПОСЫЛКА

Так сложилась, что часть уникальных черт ОС Линукс приобрела благодаря революционному решению представить любые физические устройства (будь то звуковая карта или жесткий диск), как обычные файлы. Для жестких дисков это так называемые файлы блочных устройств. Но в конечном итоге – файлы – они файлы и есть – делать с ними можно то же, что и с обычными.
Звуковой файл просмотреть в звуковом же устройстве тем самым прослушав его: cat /home/mysound.wav < /dev/dsp , редактировать mbr hdd в обычном текстовом редакторе (vi /dev/hda) и т.д.

Эта безобидная особенность может стать мощным оружием в умелых руках. Поэтому будем тренироваться. Для начала нам нужен файл – основа смелых экспериментов. Получить его можно разными способами.

Способ первый

Создать файл командой touch и открыв его в редакторе набивать содержанием долго-долго.

touch my_file.

В итоге через несколько лет мы получим файл объемом в несколько десятков мегабайт – что уже подходит для наших целей. Недостатки: долго. Достоинства: можно стать самым знаменитым и плодовитым писателем. Что-то вроде Ленина.

Способ второй

Нужно найти в какой нибудь директории файл подходящего размера (ну мегабайт 50-100). Достоинства: минимум умственных усилий. Недостатки: такого файла может и не оказаться, если у тебя Винды припрятанной на дополнительной партиции нет. В Линуксе файлы достаточно миниатюрны. Философия такая.

Способ третий

Данный способ дает возможность получать файлы достаточно большого размера. 600-700 Мб. Делается это так. Вставляем под завязку набитый софтом или фильмами CD-ROM в привод. Пишем:
cp /dev/cdrom /home/my_file
в итоге все содержимое нашего сидиром будет скинуто в один файл. (Который кстати потом можно будет подключать к любой директории и свободно юзать).

Достоинства: удобно.
Недостатки: не универсально. Ну не надо мне 700 Мб. 40 хочу. Способ четвертый. Правильный.

Но думаю, если предыдущие способы показались тебе несколько лишенными стройности, то эта мысль абсолютно оправдана. Есть еще один способ. Он так и называется – «правильный». Для этого в Линукс существует команда dd (для всего на самом деле, лишь бы фантазии хватало, включая использование ее для записи звука с микрофона).

Нам нужен файл из которого мы рано или поздно создадим наш виртуальный клад. У каждого могут быть свои пожелания. Мне вполне хватит размера 40 Мб. Для текста вполне достаточно, а если вам для картинок – то впишите свое число (после count).

dd if=/dev/zero of=/home/clad bs=1k count=40000

«clad» - это название получившегося после нехитрой операции 40Мб файла в домашней директории. Конечно, для наших скрытных целей лучше бы его заменить, на что ни будь плохо ассоциируемое с «пользой». «Польза» - это софт лежащий где-нибудь. Как вам, например такое название: klsf2007.px
По-моему, очень содержательное, подобных файлов лежит не меряно в разных директориях. Для чего они пользователь может только догадываться. Ну что же, настало время приступить к священнодействию – превратить файл в полноценное устройство хранения данных – новый жесткий диск. Отпиливать кусочек от существующего мы не будем. Мы просто файл… ОТФОРМАТИРУЕМ!

Mke2fs clad

Наш файл готов к использованию. Внутри него – файловая система ext2. Подобному методу можно придумать и другое применение. Например, увеличение памяти путем добавления еще одного swap-файла для подкачки данных. Делается это аналогично, только форматируем мы не под ext2, а – swap и даем команду свап активизировать.

А как же использовать наш clad?
Как и всегда подмонтировать в любую директорию (а лучше создать папку Sys – например – и в нее), только предварительно указав, что это loop-файл.

mount -o loop /home/clad /Sys

На этом наши ухищрения почти закончены. Накидаем в папку /Sys всякой файловой ерунды, чтобы она не вызывала подозрений своим существованием. Плохо знакомый с Линуксом человек может даже предположить, что это некая важная Системная папка «и ничего воровать не станет».

Теперь закинем наш виртуальный жесткий диск clad (а я надеюсь вы пошли на поводу здравого смысла и переименовали его во что то трудно читаемое) в глушь директорий и путей. Куда нибудь в /usr/share/lib. В необходимый момент мы напишем:

mount –o loop /usr/share/lib/clad /Sys

и бредовое содержимое-прикрытие данной папки исчезнет бесследно открыв в первозданной красоте своей тайное наше устройство. Теперь можно смело сохранять на него важные для вас файлы – переписку, картинки, стихи…
Но стоит сказать:

umount /usr/share/lib/clad

и все исчезнет. Растворится в неведомых дебрях файловой системы, а папка Sys опять наполниться файлами-прикрытием.

Конечно, у этого метода есть некоторые уязвимости. В частности ничто не помешает вторгнувшемуся в ваши владения воспользоваться историей команд в bash и все понять. Но мы то конечно историю команд подчистим в соответствующем файле.
Заметем следы то есть.
Если вы любите ленится, то советую написать маленькие скрипты, которые также существенно добавят комфорт в управление вашим виртуальным устройством.
Делается это так.
Напишем скрипт для активизации тайного устройства. Создадим файл (название придумайте сами – самое глупое starthdd использую я). В любом редакторе (pico, vi, mc) напишем:

mount /usr/share/lib/clad /Sys

Сохраним файл и сделаем его исполняемым:

Chmod +x starthdd.

Кинем в любую директорию, куда в баше есть пути. Например, в /usr/bin (а умнее в ту, куда путей нет, а лучше – свою папку иметь со скриптами и из нее линковать на /bin например). Аналогично напишем скрипты для отключения виртуального hdd и подчистки истории команд (если кому надо).

Этот способ не дает 100% защиту, но как уже говорилось выше – это не для семейки хакеров. Для всех же остальных вероятность нахождения скрытого клада близка к нулю. Но это был самый банальный способ зарыть сокровища. Другой путь достаточно остроумен и неординарен, как мне кажется. А что если все сделать наоборот. Пусть себе важные файлы лежат на открытом месте, но…
Прикрытые файлом-заглушкой!!!
То есть мы всегда будем видеть некую директорию, где будут лежать какие-то файлы. Причем не обязательно мусор – вы можете пользоваться ей, хранить какие-то публичные файлы. Но в нужный момент мы сделаем унмаунт данной заглушки-прикрытия и нашему взору предстанут скрытые файлы, которые на самом то деле никуда и не исчезали!!! Как это сделать по шагам я напишу ниже.

  1. Создать директорию. Пусть Sys.
  2. Записать в нее ваши файлы.
  3. Создать файл-устройство-заглушку (отформатировать).
  4. Записать в /ets/fstab строку подмонтирующую заглушку в момент загрузки Линукс.
  5. Для пользования скрытой директорией отмонтировать заглушку.

Плюсы этого способа – размер устройства-заглушки может быть очень маленьким (но не переусердствуйте, а то вызовет много недоумения попытка копирования файла в паку и последующее сообщение, что не хватает места на «винте», в то время как там еще 10Gb!).
Минусы очевидны: если загрузится с дискетки, то лежащие в папке важные файлы не будут скрыты. Но тут опять же – метод не для хакеров.

А для хакеров. Никто же не мешает вам закриптовать ваш файл с ключом вплоть до 192 бит!!! Возможно, у вас хватит фантазии придумать что-то пооригинальнее, но главное – то что когда-то казалось недостижимым стоит у нас прямо на пороге и мило улыбается. Оно очень сильно похоже на пингвина.

Столетиями не угасает жажда поиска кладов. Люди собирают рюкзак и уходят в дремучие леса и знойные пустыни в надежде найти нечто невероятное. Подобное происходит и в компьютерном мире. Чем больше усилий прикладывает кладоискатель для поисков, тем тщательнее владелец пытается его скрыть. Иногда кладоискателям везет.
Иногда нет. Но если вы захотите зарыть клад – дело только за вашей сообразительностью.

В лесу далеком клад зарыт.
Над ним скала – сплошной гранит
Кирка в бессилии визжит
От взоров жадных клад укрыт.


И даже если б мы нашли
Далекий лес тот, где искать,
То место где сокрыт от глаз
Желанный клад, чудесный клад.


И нет ни карт, ни чьих то слов
Забыться лишь в объятьях снов
Но снова будет сниться клад
И снова в путь, в лесу искать.

На всякий случай: создание папки Sys: mkdir Sys.

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.