Задача: создать приватную директорию в текущем профиле применительно к Ubuntu 12.04.5 Desktop amd64 с рабочим столом Gnome Classic
Для создания приватной директории понадобиться посредством репозитариев установить пакет следующих утилит:
ekzorchik@udesktop:~$ sudo apt-get install ecryptfs-utils
Далее создаю ключ защищенный парольной фразой на шифрование/расшифровка вашей директории:
ekzorchik@udesktop:~$ ecryptfs-setup-private
Первым запросом вводим пароль на аутентификацию в системе (для автомонтирования)
Enter your login passphrase [ekzorchik]: 712mbddr@
Следующим запросом вводим пароль для шифрования:
Enter your mount passphrase [leave blank to generate one]: 612mbddr@
Enter your mount passphrase (again): 612mbddr@
************************************************************************
YOU SHOULD RECORD YOUR MOUNT PASSPHRASE AND STORE IT IN A SAFE LOCATION.
ecryptfs-unwrap-passphrase ~/.ecryptfs/wrapped-passphrase
THIS WILL BE REQUIRED IF YOU NEED TO RECOVER YOUR DATA AT A LATER TIME.
************************************************************************
данный пароль 612mbddr@ – потребуется для восстановления доступа к данным позднее
Done configuring.
Testing mount/write/umount/read…
Inserted auth tok with sig [30431054af12b3d7] into the user session keyring
Inserted auth tok with sig [4b8f0a30dd8cb046] into the user session keyring
Inserted auth tok with sig [30431054af12b3d7] into the user session keyring
Inserted auth tok with sig [4b8f0a30dd8cb046] into the user session keyring
Testing succeeded.
Logout, and log back in to begin using your encrypted directory.
Теперь помещая файлы в каталог ~/Private они будут зашифрованы и находится в сохранности
Каталог ~/Private есть ссылка на скрытый каталог ~/.Private
ekzorchik@udesktop:~$ ls ~/.Private/
ECRYPTFS_FNEK_ENCRYPTED.FWZfhYlvkcvqikSEXnLmuc.JPoaohaDYUDO.k.FIKh0CJZmbhxcDPXVgn—
но если в консоль ввести следующую команду:
ekzorchik@udesktop:~$ ecryptfs-umount-private
то каталог ~/Private будет размонтирован, при обращении в который через Nautilus можно будет наблюдать два файла с замочком:
После размонтирования в каталоге ~/Private можно обнаружить два файла, если щелкнуть по Access-Your-Private-Data.desktop то посредством монтирования можно получить доступ к своим файлам
а в файле README.txt указаны действия которые необходимо сделать чтобы смонтировать каталог ~/Private, как щелчком по Access либо через консоль вводом команды:
ekzorchik@udesktop:~$ ecryptfs-mount-private
Enter your login passphrase: <вводим_пароль_712mbddr@>
Inserted auth tok with sig [30431054af12b3d7] into the user session keyring
и монтируем зашифрованный каталог с файлами которые Вы туда поместили, при этом файлы видимые в размонтированном состоянии исчезают. Это было монтирование через командную строку, а если по нажатию на ярлыке Access*.desktop , то должно монтироваться но этого не происходит, потому как у данного ярлыка нет прав на запуск, не выставлен атрибут исполнения, исправляем это дело:
ekzorchik@udesktop:~$ ls -al /usr/share/ecryptfs-utils/ecryptfs-mount-private.desktop
-rw-r–r– 1 root root 220 Feb 5 2013 /usr/share/ecryptfs-utils/ecryptfs-mount-private.desktop
, как позже мне удалось выяснить — это дело исправлено в новой версии инсталлируемого пакета: ecryptfs-utils-104-0ubuntu1 релиза системы trusty, скачиваю данный пакет и устанавливаю:
ekzorchik@udesktop:~$ wget http://mirrors.kernel.org/ubuntu/pool/main/e/ecryptfs-utils/ecryptfs-utils_104-0ubuntu1_amd64.deb
ekzorchik@udesktop:~$ sudo dpkg -i ecryptfs-utils_104-0ubuntu1_amd64.deb
Теперь даже ярлык стал другим:
Щелкаем по нему два раза левой кнопкой мыши и получаем запрос ввода парольной фразы на доступ к криптованному контейнеру с Вашими файлами доступ к которым у Вас ограничен:
После ввода парольной фразы открытой окно терминального окна закроется и можно будет посредством Naulitus попасть в каталог ~/Private текущего пользователя либо обратившись к нему через консоль командной строки. Но заметил еще одну странность или недочет, после ввода парольной фразы меня все равно не пускает, мол не найдена библиотека libcreptfs.so.1 и фраза не соответствует действительности:
Enter your login passphrase:
ecryptfs-insert-wrapped-passphrase-into-keyring: error while loading shared libraries: libecryptfs.so.1: cannot open shared object file: No such file or directory
ERROR: Your passphrase is incorrect
Enter your login passphrase:
И что же делать? Начинаю выяснить, а к какому пакету принадлежит данная библиотека:
ekzorchik@udesktop:~$ apt-cache policy libecryptfs0
libecryptfs0:
Installed: 96-0ubuntu3.1
Candidate: 96-0ubuntu3.1
Version table:
*** 96-0ubuntu3.1 0
500 http://ru.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
100 /var/lib/dpkg/status
96-0ubuntu3 0
500 http://ru.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
ага она у меня относится к релизу моего дистрибутива Ubuntu 12.04.5, а обновленную версию ecryptfs я ставил от Ubuntu 14.04.1, получается нестыковочка, поправляю:
ekzorchik@udesktop:~$ wget http://mirrors.kernel.org/ubuntu/pool/main/e/ecryptfs-utils/libecryptfs0_104-0ubuntu1_amd64.deb
ekzorchik@udesktop:~$ sudo dpkg -i libecryptfs0_104-0ubuntu1_amd64.deb
ekzorchik@udesktop:~$ apt-cache policy libecryptfs0libecryptfs0
Installed: 104-0ubuntu1
Candidate: 104-0ubuntu1
и проверяем атрибуты у файла:
ekzorchik@udesktop:~$ ls -al /usr/share/ecryptfs-utils/ecryptfs-mount-private.desktop
-rwxr-xr-x 1 root root 220 Jan 28 2014 /usr/share/ecryptfs-utils/ecryptfs-mount-private.desktop
видно добавился атрибут запуска которого так не хватало, вообще мне видится что можно было и не обновлять пакет, а просто дать этот самый атрибут через chmod. Хотя с другой стороны лучше иметь обновленный, актуальный пакет через костыль исправлений.
Вот теперь другое дело. Оказывается вот как, обновляешь программу изволь и все ее компоненты обновить.
Повторяю шаг монтирования криптованного каталога по ярлыку: и теперь файлы мне стали доступны.
(я до этого их создавал, чтобы продемонстрировать Вам что они действительно видно когда криптованный каталог смонтирован)
Хотелось бы для удобства не из командной строки производить размонтирование, а через клик по ярлыку, поэтому воплощаю задумку в жизнь, создаем ярлыка на рабочем столе:
ekzorchik@udesktop:~$ nano Desktop/Private_Umount.desktop
[Desktop Entry]
Version=1.0
Name=Private_Umount
Comment=
Exec=/usr/bin/ecryptfs-umount-private
Type=Application
Сохраняю внесенные изменения и выставляю атрибут исполнения:
ekzorchik@udesktop:~$ chmod +x ~/Desktop/Private_Umount.desktop
Теперь на рабочем столе создал ярлык на размонтирование криптованного каталога:
После его нажатия содержимое криптнованного каталога становится скрытым и сам каталог показывает это своим видом, на нем стоит «замочек»
По такому же принципу можно сделать ярлык на подключение криптованного каталога для удобства использования.
Отлично с этими простыми шагами справились. Идем дальше, а дальше я хотел бы рассмотреть, как перенести профиль используемого браузера Mozilla Firefox в данный контейнер, ведь профиль хранит в себе историю и возможно сохраненные пароли достать которые не проблема (в одной из следующих заметок я покажу как это сделать и наша задача не забыть ограничить к ним доступ).
Профиль используемого браузера располагается в домашнем каталоге в скрытой директории начинающейся с точки, где дальше идет произвольно генерируемое название: в моем случае это kym71z79.default:
ekzorchik@udesktop:~$ ls .mozilla/firefox/kym71z79.default/
Для того чтобы перенести профиль потребуется всего несколько простых шагов, а именно:
- Закрываем браузер завершение всех порожденных процессов:
ekzorchik@udesktop:~$ ps -ef | grep firefox
1000 25038 1 0 20:13 ? 00:00:11 /usr/lib/firefox/firefox
1000 26243 11369 0 20:54 pts/0 00:00:00 grep –color=auto firefox
- Завершаем процесс отвечающий за запущенный браузер:
ekzorchik@udesktop:~$ kill -9 25038
Далее перемещаем профиль firefox в смонтированный крипто контейнер Private:
ekzorchik@udesktop:~$ mv ~/.mozilla/ ~/Private/
и чтобы теперь браузер Firefox знал где находится его профиль сделаем символическую ссылку, по сути это ярлык:
ekzorchik@udesktop:~$ ln -s ~/Private/.mozilla/ ~/.mozilla
Теперь когда будет произведено размонтирование профиль Firefox с его историей и сохраненными паролями будет недоступен человеку который каким либо образом смог завладеть доступом к Вашей системе. Пусть он поломает голову.
Может так случиться ведь все мы люди и нам свойственно забывать не нужную информацию, хотя надеюсь с Вами такого не случается по отношения к Вашим данным и Вы каким-то образом забыли парольную фразу на доступ к каталогу.
Производим поиск всех зашифрованных каталогов в системе:
ekzorchik@udesktop:~$ sudo ecryptfs-recover-private
[sudo] password for ekzorchik:
INFO: Searching for encrypted private directories (this might take a while)…
INFO: Found [/home/ekzorchik/.Private].
Try to recover this directory? [Y/n]: y — попытаться восстановить данную директорию, отвечаю – Да
INFO: Found your wrapped-passphrase — найдена наличие кодовой фразы для восстановления
Do you know your LOGIN passphrase? [Y/n] n — Знаете ли Вы Ваш логин кодовой фразы, я отвечаю нет
INFO: To recover this directory, you MUST have your original MOUNT passphrase.
INFO: When you first setup your encrypted private directory, you were told to record
INFO: your MOUNT passphrase.
INFO: It should be 32 characters long, consisting of [0-9] and [a-f].
Enter your MOUNT passphrase: – здесь указываю кодовую фразу для восстановления
INFO: Success! Private data mounted at [/tmp/ecryptfs.AwByXHOK]. – успешно, мои приватные данные были смонтированы в каталог /tmp/ecryptfs.AwByXHOK
Теперь все файлы находящиеся восстановленном каталоге доступны и к ним можно получить доступ и переместить в новое место, либо сбросить пароль и создать его заново для криптованного контейнера.
ekzorchik@udesktop:~$ ls /tmp/ecryptfs.AwByXHOK/ -l
total 8868
-rw-r–r– 1 ekzorchik ekzorchik 9072640 Dec 13 21:20 etc.tar
По окончанию перемещения восстановленных файлов, нужно размонтировать данный каталог:
ekzorchik@udesktop:~$ df | grep .Private
/home/ekzorchik/.Private 25096488 3687732 20150516 16% /tmp/ecryptfs.AwByXHOK
ekzorchik@udesktop:~$ sudo umount /tmp/ecryptfs.AwByXHOK/
Если же в процессе восстановления ваших файлов, Вы указали что знаете логин Вашей кодовой фразы:
Do you know your LOGIN passphrase? [Y/n] y
INFO: Enter your LOGIN passphrase…
Passphrase: 612mbddr@
Error: Unwrapping passphrase and inserting into the user session keyring failed [-5]
Info: Check the system log for more information from libecryptfs – как видно что-то пошло не так, уж лучше найти восстановленные файлы в каталоге /tmp чем нигде их не найти.
По логам куда отправляем нас вывод видно:
ekzorchik@udesktop:~$ sudo tail -f /var/log/syslog
Dec 13 22:41:55 udesktop ecryptfs-insert-wrapped-passphrase-into-keyring: Incorrect wrapping key for file [/home/ekzorchik/.Private/../.ecryptfs/wrapped-passphrase]
Dec 13 22:41:55 udesktop ecryptfs-insert-wrapped-passphrase-into-keyring: Error attempting to unwrap passphrase from file [/home/ekzorchik/.Private/../.ecryptfs/wrapped-passphrase]; rc = [-5]
что в скрытом файле: /home/ekzorchik/.Private/../.ecryptfs/wrapped-passphrase указанная пароль ная фраза не соответствует введенной, возможно она была другой или что-то типа подобного. Если я правильно трактую написанное в лог файлах.
Но все равно я сделал что и хотел данной заметкой получил подобие уже неиспользуемого ранее TrueCrypt. Вот собственно и все, с уважением – ekzorchik.
Теперь любой, кто работает за компьютером не под вашей учетной записью, не сможет получить доступ к вашим приватным папкам.