Я нашел это нетривиальное решение:
#!/bin/sh
file_path=$1/script-file-name
while inotifywait -e create "$1"; test ! -f "$file_path"
do
:
done
chmod g+rw "$file_path"
chown root "$file_path"
Этот сценарий должен запускаться с привилегиями root
:
sudo <catch-script> /dir/where/the/target/will/be/generated
Ранее каталог, в котором будет создан сценарий, должен быть указан как следует:
chown root /dir/where/the/target/will/be/generated
chmod 1775 /dir/where/the/target/will/be/generated
Т.е. мы устанавливаем липкий бит для каталога, в котором будет размещен скрипт. Затем указанный (перехватывающий) сценарий ожидает, пока целевой сценарий будет создан, устанавливает для него разрешение на запись (чтобы дать возможность генерирующей программе работать с ним) и меняет владельца на корень
(чтобы запретить удаление).