Я могу создать новое ext4
зашифрованный раздел с ядром 4.1 на Ubuntu 15.04?
Linux 4.1 идет с новой функцией Ext4 для шифрования каталогов файловой системы. Ключи шифрования хранятся в брелоке для ключей. Для начала работы удостоверьтесь, что Вы включили CONFIG_KEYS
и CONFIG_EXT4_FS_ENCRYPTION
опции ядра, и у Вас есть ядро 4.1 или выше.
, В первую очередь, необходимо обновить e2fsprogs, по крайней мере, к версии 1.43, которая является все еще WIP во время записи, таким образом, мы должны выбрать его от репозиторий мерзавца :
$ git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
e4crypt источник отключил соответствующий раздел в своем исходном коде, включите его путем редактирования misc/e4crypt.c и удаления этих двух строк около строки 714:
printf("arg %s\n", argv[optind]);
exit(0);
Теперь сборка и устанавливают новый e2fsprogs:
$ sudo apt-get install devscripts build-essential gettext texinfo pkg-config debhelper m4
$ debuild
$ sudo dpkg -i e2fsprogs_1.43-WIP_amd64.deb
Проверка Ваша версия теперь, это должно быть 1.43-WIP:
# e2fsck -V
e2fsck 1.43-WIP (18-May-2015)
Using EXT2FS Library version 1.43-WIP, 18-May-2015
Для работы с ключами мы должны установить keyutils
пакет:
$ sudo apt-get install keyutils
Позволяют нам сделать каталог, который мы зашифруем. Политика шифрования может быть установлена только на пустых каталогах:
$ sudo mkdir -p /encrypted/dir
Первый генерируют случайное соленое значение и хранят его в безопасном месте:
$ head -c 16 /dev/random | xxd -p
877282f53bd0adbbef92142fc4cac459
Теперь генерируют и добавляют новый ключ в Ваш брелок для ключей: этот шаг должен быть повторен каждый раз, когда Вы сбрасываете свою цепочку для ключей (перезагрузка)
$ sudo e4crypt -S 0x877282f53bd0adbbef92142fc4cac459
Enter passphrase (echo disabled):
Added key with descriptor [f88747555a6115f5]
Теперь, Вы знаете дескриптор для своего ключа. Удостоверьтесь, что Вы добавили ключ в свою цепочку для ключей:
$ keyctl show
Session Keyring
1021618178 --alswrv 1000 1000 keyring: _ses
176349519 --alsw-v 1000 1000 \_ logon: ext4:f88747555a6115f5
Почти сделанный. Теперь установите политику шифрования для каталога:
$ e4crypt set_policy f88747555a6115f5 /encrypted/dir
Это - все. При попытке получить доступ к диску, не добавляя ключ в цепочку для ключей, имена файлов и их содержание будут рассматриваться как зашифрованный мусор. Будьте осторожными рабочими старыми версиями e2fsck в Вашей файловой системе - это будет рассматривать зашифрованные имена файлов как недопустимые.
Прежде всего правовая оговорка: я не сделал, это с Ubuntu, но на машине с Debian "Фрагмент" установило использование пользовательского Linux 4.2.3 ядра, которые я включил EXT4_FS_ENCRYPTION
на.
Инструкции, данные kmeaw, не работают на меня точно, как отправлено. Несколько вещей были не учтены (параметры командной строки и шаги).
e2fsprogs
как показано вышеГенерируйте свою случайную соль. Я использовал следующее для хранения его в "безопасном месте":
head -c 16 /dev/urandom | xxd -p >~/tmp-salt.txt
echo 0x`cat ~/tmp-salt.txt` >~/.cryptoSalt
Для использования ext4 шифрования в файловой системе "зашифровать" флаг должен быть установлен в суперблоке. Это не значение по умолчанию, когда ext4 файловая система создается. Используя "tune2fs" утилиту от e2fsprogs 1.43 или позже, устанавливает "зашифровать" опцию:
sudo tune2fs -O encrypt /dev/sda4
Смонтируйте или повторно смонтируйте файловую систему, таким образом, ядро знает об изменении (возможно, это автоматически, но я только сделал это на отдельном разделе, таким образом, я не уверен.)
Создайте каталог в файловой системе, которая смонтирована с включенным шифрованием:
sudo mkdir -p /secret/home/$USER
sudo chown $USER:$USER /secret/home/$USER
Создайте ключ в брелоке для ключей и используйте его для установки политики для каталога, который будет зашифрован ( sudo
команда не нужна здесь):
$ /usr/sbin/e4crypt add_key -S s:`cat ~/.cryptoSalt`
Enter passphrase (echo disabled):
Added key with descriptor [0132fed69f946c86]
$ /usr/bin/e4crypt set_policy 0132fed69f946c86 /secret/home/$USER
Key with descriptor [0132fed69f946c86] applies to /secret/home/theuser.
После каждой перезагрузки, add_key
команда может использоваться, устанавливает ключ для дешифрования каталога и его потомков:
$ /usr/sbin/e4crypt add_key -S s:`cat ~/.cryptoSalt`
Enter passphrase (echo disabled):
Added key with descriptor [0132fed69f946c86]
Введите тот же пароль, используемый на предыдущем шаге, и Вы не должны помнить шестнадцатеричную строку дескриптора.
Можно также использовать add_key
непосредственно. Это будет использовать файловую систему определенная соль (Таким образом, все папки под тем разделом будут иметь ту же соль),
$ /usr/sbin/e4crypt add_key /secret/home/$USER
Added key with descriptor [0132fed69f946c86]
Key with descriptor [0132fed69f946c86] applies to /secret/home/theuser.