1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
#!/bin/bash
# Test that fscrypt fails when the filesystem doesn't have the encrypt feature
# enabled. Then test enabling it.
cd "$(dirname "$0")"
. common.sh
dir="$MNT/dir"
mkdir "$dir"
_print_header "Disable encryption on $DEV"
count_before=$(_get_enabled_fs_count)
umount "$MNT"
_run_noisy_command "debugfs -w -R 'feature -encrypt' '$DEV'"
mount "$DEV" "$MNT"
count_after=$(_get_enabled_fs_count)
(( count_after == count_before - 1 )) || _fail "wrong enabled count"
_print_header "Try to encrypt a directory when encryption is disabled"
_expect_failure "fscrypt encrypt '$dir'"
_print_header "Try to unlock a directory when encryption is disabled"
_expect_failure "fscrypt unlock '$dir'"
_print_header "Try to lock a directory when encryption is disabled"
_expect_failure "fscrypt lock '$dir'"
_print_header "Check for additional message when GRUB appears to be installed"
mkdir -p "$MNT/boot/grub"
_expect_failure "fscrypt encrypt '$dir'"
rm -r "${MNT:?}/boot"
_print_header "Enable encryption on $DEV"
_run_noisy_command "tune2fs -O encrypt '$DEV'"
_print_header "Encrypt a directory when encryption was just enabled"
echo hunter2 | fscrypt encrypt --quiet --source=custom_passphrase --name=prot "$dir"
fscrypt status "$dir"
|