Подписывание файлов
Для подписания всех исполняемых файлов в Системе, в том числе скриптов и разделяемых библиотек .so, необходимо:
- создать файл скрипта для их подписи:
nano sign.sh
- скопировать нижеследующий текст в этот файл:
#!/bin/bashset -xe
FS="$(findmnt --output FSTYPE / | tail -n1)"
echo "$FS"
echo > failed.log
find / -fstype "$FS" -type f -executable | sort -u | while read -r line
do
if ! evmctl ima_sign --hashalgo streebog512 --key ima_priv.pem "$line" ; then
echo "$line" >> failed.log
fi
done
for D in /lib /lib64 /usr/lib /usr/lib64
do
find "$D" -fstype $FS -\! -executable -type f -name "*.so*" | sort -u | while read -r line
do
if ! evmctl ima_sign --hashalgo streebog512 --key ima_priv.pem "$line"; then
echo "$line" >> failed.log
fi
done
done
- сохранить файл скрипта и сделать его исполняемым:
chmod 755 sign.sh
- запустить скрипт и подписать файлы:
./sign.sh
После запуска (скрипт будет работать некоторое время) можно посмотреть журнал ошибок командой (он должен быть пуст):
cat failed.log