diff --git a/initrd/dracut/load_digest_lists.sh b/initrd/dracut/load_digest_lists.sh new file mode 100644 index 0000000000000000000000000000000000000000..e9978073d3efa53d0d8ef2cb6a37b32594050df7 --- /dev/null +++ b/initrd/dracut/load_digest_lists.sh @@ -0,0 +1,11 @@ +#! /bin/bash + +if [ ! -f /sys/kernel/security/ima/digest_list_data ]; then + exit 0 +fi + +for f in $(find $NEWROOT/etc/ima/digest_lists -type f); do + if [ ! -f /etc/ima/digest_lists/$(basename $f) ]; then + echo $f > /sys/kernel/security/ima/digest_list_data + fi +done diff --git a/initrd/dracut/module-setup.sh b/initrd/dracut/module-setup.sh index 4ab8018c4ed771ab967a86d712dbc666921a556d..44454deab2ea1764dd1a73a8e3a00e8696688afa 100755 --- a/initrd/dracut/module-setup.sh +++ b/initrd/dracut/module-setup.sh @@ -21,6 +21,8 @@ install() { inst_dir /etc/ima/digest_lists inst_multiple /etc/ima/digest_lists/* + inst_binary find + inst_binary basename # inst_binary upload_digest_lists # inst_libdir_file "digestlist/libparser-*.so" # libc=$(realpath $(ldd /usr/bin/upload_digest_lists | grep libc.so | \