У меня есть 2 машины (машина1 и машина2), на каждой из которых работает Ubuntu 18.04. Обе машины используют fscrypt для шифрования домашней папки (используя парольную фразу для входа). Если я удалю жесткий диск (hd1) из машины1 и подключу его к машине2, как мне расшифровать домашнюю папку машины1?
Предполагая, что hd1 является sdb и смонтирован в / mnt / hd1 /
Следующие команды выполняются как user2 с машины2
>>> fscrypt status
filesystems supporting encryption: 2
filesystems with fscrypt metadata: 2
MOUNTPOINT DEVICE FILESYSTEM ENCRYPTION FSCRYPT
/ /dev/sda2 ext4 supported Yes
/mnt/hd1 /dev/sdb2 ext4 supported Yes
>>> fscrypt status /mnt/hd1/
ext4 filesystem "/mnt/hd1" has 1 protector and 1 policy
PROTECTOR LINKED DESCRIPTION
7db5baf4xxxxxxxx No login protector for user1
POLICY UNLOCKED PROTECTORS
0000ed45xxxxxxxx No 7db5baf4xxxxxxxx
>>> fscrypt unlock /mnt/hd1/home/user1
fscrypt unlock: user keyring not linked into session keyring
This is usually the result of a bad PAM configuration. Either correct the problem in your PAM stack, enable
pam_keyinit.so, or run "keyctl link @u @s".
>>> fscrypt unlock /mnt/hd1/home/user1 --unlock-with=/mnt/hd1:7db5baf4xxxxxxxx
fscrypt unlock: user keyring not linked into session keyring
This is usually the result of a bad PAM configuration. Either correct the problem in your PAM stack, enable
pam_keyinit.so, or run "keyctl link @u @s".
Должен ли я разблокировать домашнюю папку user1, только если я вошел в систему как user1? Может ли пользователь user2 разблокировать домашнюю папку, если у него есть пароль для входа в систему user1? Можно ли это сделать с другой машины?
Что вам нужно, так это новый протектор для вашего диска.
В fscrypt есть два важных термина: протекторы и политики. Протекторы — это секреты, используемые для защиты данных. Политики — это фактический ключ, который шифрует данные. Другими словами, у вас есть предохранители, которые могут открывать политики, которые, в свою очередь, расшифровывают данные.
На машине1 добавьте новый предохранитель с помощью следующей команды:
метаданные sudo fscrypt создают протектор /mnt/hd1
. Выберите пользовательскую парольную фразу.
Используя fscrypt status /mnt/hd1
, найдите идентификаторы только что созданного протектора и существующей политики.
Добавьте этот вновь созданный протектор в политику с помощью метаданные sudo fscrypt add-protector-to-policy --protector=/mnt/hd1:[protector_id] --policy=/mnt/hd1:[policy_id]
(заменив идентификаторы на те, которые вы получили ранее). Выберите логин и введите пароль здесь.
С fscrypt status /mnt/hd1
вы должны увидеть, что политика теперь имеет новый протектор. На машине2 вы сможете разблокировать каталог с помощью fscrypt unlock /mnt/hd1/home/user1
, используя только что созданную парольную фразу.