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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
#!/bin/bash
# Test getting global, filesystem, and unencrypted directory status
# when the filesystem is or isn't set up for fscrypt.
cd "$(dirname "$0")"
. common.sh
dir="$MNT/dir"
mkdir "$dir"
filter_mnt_status()
{
awk '$1 == "'"$MNT"'" { print $3, $4, $5 }'
}
# Initially, $MNT has encryption enabled and fscrypt setup.
enabled_count1=$(_get_enabled_fs_count)
setup_count1=$(_get_setup_fs_count)
_print_header "Get status of setup mountpoint via global status"
fscrypt status | filter_mnt_status
_user_do "fscrypt status" | filter_mnt_status
_print_header "Get status of setup mountpoint"
fscrypt status "$MNT"
_user_do "fscrypt status '$MNT'"
_print_header "Get status of unencrypted directory on setup mountpoint"
_expect_failure "fscrypt status '$dir'"
_user_do_and_expect_failure "fscrypt status '$dir'"
_print_header "Remove fscrypt metadata from $MNT"
_rm_metadata "$MNT"
# Now, $MNT has encryption enabled but fscrypt *not* setup.
_print_header "Check enabled / setup count again"
enabled_count2=$(_get_enabled_fs_count)
setup_count2=$(_get_setup_fs_count)
(( enabled_count2 == enabled_count1 )) || _fail "wrong enabled count"
(( setup_count2 == setup_count1 - 1 )) || _fail "wrong setup count"
_print_header "Get status of not-setup mounntpoint via global status"
fscrypt status | filter_mnt_status
_user_do "fscrypt status" | filter_mnt_status
_print_header "Get status of not-setup mountpoint"
_expect_failure "fscrypt status '$MNT'"
_user_do_and_expect_failure "fscrypt status '$MNT'"
_print_header "Get status of unencrypted directory on not-setup mountpoint"
_expect_failure "fscrypt status '$dir'"
_user_do_and_expect_failure "fscrypt status '$dir'"
|