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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:luks_cloud [2014/06/30 00:05]
[Ссылки]
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**
Строка 141: Строка 166:
 Все. Все.
 ====== Увеличение размера (контейнера) ====== ====== Увеличение размера (контейнера) ======
-Посмотреть,​ сколько места использовано в нашем контейнере,​ можно так:+Посмотреть,​ сколько места использовано ​(занято файлами) ​в нашем контейнере,​ можно так:
 <code bash>df -h | grep container ​ <code bash>df -h | grep container ​
-#Файл.система ​          ​Размер Использовано ​ Дост Использовано% Cмонтировано в +Файл.система ​          ​Размер Использовано ​ Дост Использовано% Cмонтировано в 
-#/​dev/​mapper/​container ​    ​43M ​        802K   ​41M            2% /​home/​user/​private</​code>​ +/​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>​ 
 + 
 ===== Ссылки ===== ===== Ссылки =====
  
Строка 153: Строка 215:
   * [[http://​forum.ubuntu.ru/​index.php?​topic=233759.0|Обсуждение темы на форуме]]   * [[http://​forum.ubuntu.ru/​index.php?​topic=233759.0|Обсуждение темы на форуме]]
   * [[https://​help.ubuntu.com/​community/​ResizeEncryptedPartitions|ResizeEncryptedPartitions]]   * [[https://​help.ubuntu.com/​community/​ResizeEncryptedPartitions|ResizeEncryptedPartitions]]
-{{tag>​LUKS cloud безопасность шифрование облако}}+{{tag>​LUKS cloud безопасность шифрование облако ​Подсказки_и_советы HOWTO}}