Создание и использование в "облаке" криптоконтейнера LUKS (dm-crypt) Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:luks_cloud [2014/06/29 23:47]
[Использование контейнера]
wiki:luks_cloud [2020/05/07 19:26] (текущий)
[Ссылки]
Строка 4: Строка 4:
  
 ======Особенности ====== ======Особенности ======
-  * В качестве "​контейнера"​ используется файл. Его размер ​"фиксирован".+  * В качестве "​контейнера"​ используется файл. Его размер фиксирован. Возможно изменение размера.
   * "​Внутри"​ контейнера создается файловая система,​ любого удобного вам формата.   * "​Внутри"​ контейнера создается файловая система,​ любого удобного вам формата.
-  * При использовании - монтируется ​"как обычный раздел".+  * При использовании - монтируетсякак обычный раздел.
 ---- ----
 Данные сохраняются по блокам,​ как в обычном файле/​файловой системе. То есть : Данные сохраняются по блокам,​ как в обычном файле/​файловой системе. То есть :
Строка 15: Строка 15:
 В отличие от EncFS  В отличие от EncFS 
   * "​снаружи"​ не видны общее количество файлов,​ их размеры и время модификации;​   * "​снаружи"​ не видны общее количество файлов,​ их размеры и время модификации;​
-  * проблематично ​изменить "размер контейнера", ​если весь контейнер "​занят".+  * изменение размера контейнера ​требует отдельных действий.
 ---- ----
 В отличие от Truecript ​ В отличие от Truecript ​
Строка 74: Строка 74:
 Exec=/​home/​user/​keys/​privatestatus.sh Exec=/​home/​user/​keys/​privatestatus.sh
 StartupNotify=true StartupNotify=true
-X-Ayatana-Desktop-Shortcuts=GoGo;​Off;​Starts +X-Ayatana-Desktop-Shortcuts=GoGo;GoPass;​Off;​Starts 
-Terminal=yes+Terminal=false
 Type=Application Type=Application
 Categories=GNOME;​GTK Categories=GNOME;​GTK
 Icon=/​home/​user/​.icons/​private.png Icon=/​home/​user/​.icons/​private.png
 + 
 [GoGo Shortcut Group] [GoGo Shortcut Group]
 TargetEnvironment=Unity TargetEnvironment=Unity
Строка 85: Строка 85:
 Exec=/​home/​user/​keys/​privateopen.sh Exec=/​home/​user/​keys/​privateopen.sh
  
 +[GoPass Shortcut Group]
 +TargetEnvironment=Unity
 +Name=Открываем с паролем
 +Exec=/​home/​user/​keys/​privateopen2.sh
 + 
 [Off Shortcut Group] [Off Shortcut Group]
 TargetEnvironment=Unity TargetEnvironment=Unity
 Name=Закрываем контейнер Name=Закрываем контейнер
 Exec=/​home/​user/​keys/​privateclose.sh Exec=/​home/​user/​keys/​privateclose.sh
 + 
 [Starts Shortcut Group] [Starts Shortcut Group]
 TargetEnvironment=Unity TargetEnvironment=Unity
 Name=Старт Dropbox Name=Старт Dropbox
 Exec=dropbox start</​code>​ Exec=dropbox start</​code>​
-В даше появляется кнопка по имени "​Контейнер",​ выносим ее на панель ланчера. ​ +В даше появляется кнопка по имени "​Контейнер",​ выносим ее на панель ланчера. По нажатию на нее -выводится сообщение о статусе (состоянии) контейнераПо ПКМ - выбираем пункт меню 
-  * По нажатию на нее -выводится сообщение о статусе (состоянии) контейнера +  ​1. Открываем контейнер ​ 
-  * По ПКМ - описаны 3 действия-1. Открываем контейнер ​-2. Закрываем контейнер ​-3. Старт Dropbox+  ​2. Открываем с паролем 
 +  3. Закрываем контейнер ​ 
 +  4. Старт Dropbox 
 +По вызову "​Открываем с паролем"​ - не используется файл-ключ,​ в окне терминала будет выдан запрос на ввод пароля.
  
 ----Создадим скрипты для выполнения действий с контейнером. ----Создадим скрипты для выполнения действий с контейнером.
Строка 109: Строка 117:
 fi</​code>​ fi</​code>​
 Для открытия - останавливаем службу dropbox и проверяем,​ не был ли уже открыт контейнер,​ и открываем. Для открытия - останавливаем службу dropbox и проверяем,​ не был ли уже открыт контейнер,​ и открываем.
 +//При открытии или проверке статуса,​ если контейнер открыт,​ сообщение дополняется информацией о размере (в процентах) использованного места, например:​ "​Занято:​ 64%"//
 <code bash>​gedit /​home/​user/​keys/​privateopen.sh</​code>​ <code bash>​gedit /​home/​user/​keys/​privateopen.sh</​code>​
 Его содержание:​ Его содержание:​
Строка 120: Строка 129:
   notify-send -u normal "​Открытие контейнера выполнено. Занято:​ "`df -h | grep private | awk '​{print $5}'`   notify-send -u normal "​Открытие контейнера выполнено. Занято:​ "`df -h | grep private | awk '​{print $5}'`
 fi</​code>​ fi</​code>​
 +Для открытия с запросом ввода пароля потребуется вызов окна терминала.
 +<code bash>​gedit /​home/​user/​keys/​privateopen2.sh</​code>​
 +Содержание:​
 +<code bash>#​!/​bin/​sh
 +dropbox stop
 +if  grep -q "​private"​ /​proc/​mounts;​ then
 +  notify-send -u normal "​Контейнер уже был открыт!"​
 +else
 +  gnome-terminal --command="/​home/​user/​keys/​privatepass.sh"​
 +fi</​code>​
 +И файл
 +<code bash>​gedit /​home/​user/​keys/​privatepass.sh</​code>​
 +Содержание:​
 +<code bash>#​!/​bin/​sh
 +sudo cryptsetup luksOpen /​home/​user/​.private/​container.crt container
 +sudo mount /​dev/​mapper/​container /​home/​user/​private
 +notify-send -u normal "​Открытие контейнера выполнено. Занято:​ "`df -h | grep private | awk '​{print $5}'​`</​code>​
 +
 Для закрытия - проверяем,​ не был ли уже закрыт контейнер,​ закрываем и стартуем службу dropbox. Для закрытия - проверяем,​ не был ли уже закрыт контейнер,​ закрываем и стартуем службу dropbox.
 <code bash>​gedit /​home/​user/​keys/​privateclose.sh</​code>​ <code bash>​gedit /​home/​user/​keys/​privateclose.sh</​code>​
Строка 133: Строка 160:
 fi</​code>​ fi</​code>​
 Даем права на выполнение Даем права на выполнение
-<code bash>​sudo chmod +x /​home/​user/​keys/​privatestatus.sh +<code bash>​sudo chmod +x /​home/​user/​keys/​*.sh</​code>​
-sudo chmod +x /​home/​user/​keys/​privateopen.sh +
-sudo chmod +x /​home/​user/​keys/​privateclose.sh</​code>​+
 <​note>​Не обязательно именно так располагать каталоги и давать имена. Никто не мешает дать файлу ключа имя /​home/​user/​.icons/​warum.png,​ а контейнеру имя debian_install_QIP.tar.gz,​ и поместить среди иных пакетов.</​note>​ <​note>​Не обязательно именно так располагать каталоги и давать имена. Никто не мешает дать файлу ключа имя /​home/​user/​.icons/​warum.png,​ а контейнеру имя debian_install_QIP.tar.gz,​ и поместить среди иных пакетов.</​note>​
 В завершение,​ создадим ссылку для помещения в dropbox каталога **.private** под именем **dropboxcript** В завершение,​ создадим ссылку для помещения в dropbox каталога **.private** под именем **dropboxcript**
 <code bash>​sudo ln -ds /​home/​user/​.private /​home/​user/​Dropbox/​dropboxcript</​code>​ <code bash>​sudo ln -ds /​home/​user/​.private /​home/​user/​Dropbox/​dropboxcript</​code>​
 Все. Все.
 +====== Увеличение размера (контейнера) ======
 +Посмотреть,​ сколько места использовано (занято файлами) в нашем контейнере,​ можно так:
 +<code bash>df -h | grep container ​
 +Файл.система ​          ​Размер Использовано ​ Дост Использовано% Cмонтировано в
 +/​dev/​mapper/​container ​    ​43M ​         32M   ​10M ​          75% /​home/​user/​private</​code>​
 +Если заканчивается свободное место, увеличим размер контейнера. Например,​ на 50M.
 +Перед этим - убедимся,​ что "​контейнер закрыт"​.
 +  * Увеличим размер файла-контейнера (на 50M)
 +<code bash>dd if=/​dev/​urandom bs=1M count=50 >> /​home/​user/​.private/​container.crt</​code>​
 +  * Открываем ​
 +<code bash>​sudo cryptsetup luksOpen /​home/​user/​.private/​container.crt -d /​home/​user/​keys/​container.key container</​code>​
 +  * Увеличим размер контейнера (на все добавленное к файлу место)
 +<code bash>​sudo cryptsetup resize container</​code>​
 +  * Проверка файловой системы
 +<code bash>​sudo e2fsck -f /​dev/​mapper/​container</​code>​
 +  * Увеличение размера файловой системы (на все добавленное к контейнеру место)
 +<code bash>​sudo resize2fs -p /​dev/​mapper/​container</​code>​
 +
 +Вывод выглядит так:
 +<code bash>~$ sudo e2fsck -f /​dev/​mapper/​container
 +e2fsck 1.42 (29-Nov-2011)
 +Проход 1: Проверка inodes, блокs, а также размеров
 +Pass 2: Checking каталог structure
 +Pass 3: Checking каталог connectivity
 +Pass 4: Checking reference counts
 +Pass 5: Checking группа summary information
 +container: 14/12288 files (7.1% non-contiguous),​ 6455/49152 blocks
 +
 +~$ sudo resize2fs -p /​dev/​mapper/​container
 +resize2fs 1.42 (29-Nov-2011)
 +Resizing the filesystem on /​dev/​mapper/​container to 100352 (1k) blocks.
 +Begin pass 1 (max = 7)
 +Увеличение таблицы inod'​овXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 +The filesystem on /​dev/​mapper/​container is now 100352 blocks long.</​code>​
 +
 +Монтируем и смотрим.
 +<code bash>​sudo mount /​dev/​mapper/​container /​home/​user/​private
 +df -h | grep container ​
 +Файл.система ​          ​Размер Использовано ​ Дост Использовано% Cмонтировано в
 +/​dev/​mapper/​container ​    ​91M ​         32M   ​58M ​          36% /​home/​user/​private
 +</​code>​
 +
 +
 ===== Ссылки ===== ===== Ссылки =====
  
Строка 146: Строка 214:
   * [[http://​dve.jimdo.com/​2010/​10/​27/​%D0%BE-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8-%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BE%D0%B2/​|О правильном использовании криптоконтейнеров]]   * [[http://​dve.jimdo.com/​2010/​10/​27/​%D0%BE-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8-%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BE%D0%B2/​|О правильном использовании криптоконтейнеров]]
   * [[http://​forum.ubuntu.ru/​index.php?​topic=233759.0|Обсуждение темы на форуме]]   * [[http://​forum.ubuntu.ru/​index.php?​topic=233759.0|Обсуждение темы на форуме]]
-{{tag>​LUKS cloud безопасность шифрование облако}}+  * [[https://​help.ubuntu.com/​community/​ResizeEncryptedPartitions|ResizeEncryptedPartitions]] 
 +{{tag>​LUKS cloud безопасность шифрование облако ​Подсказки_и_советы HOWTO}}