[Solved] Не получается запустить java из udev rule (Failed to mark memory page as executable - check if grsecurity/PaX is enabled)
Всем привет!
Операционная система - ubuntu 22.04
Я пытаюсь запускать код на java после того, как в системе появилось блочное устройство. Для этого я сделал правило
83-block-device-added.rules
ACTION=="add", SUBSYSTEM=="block", ENV{ID_FS_UUID}=="systemuuid", RUN{program}+="/home/riptor/test.sh"
файл test.sh запускается, вот его содержимое
#!/bin/sh
echo "running rule\n" >> /home/riptor/test-log.txt
java -version >> /home/riptor/test-log.txt
Файл test-log.txt создаётся и вот что туда попадает
running rule
Error occurred during initialization of VM
Failed to mark memory page as executable - check if grsecurity/PaX is enabled
При этом, если запустить /home/riptor/test.sh , всё работает нормально, проблем с джавой нет.
Пробовал paxctl -m java - не помогает
Вообще не уверен, что у меня там есть pax . sysctl -w kernel.pax.softmode=1 выдаёт sysctl: cannot stat /proc/sys/kernel/pax/softmode: No such file or directory
Может кто-нибудь подскажет куда копать?