Есть два процесса, один работает от рута, другой от обычного юзера. Рутовый процесс слушает UNIX сокет, в этот сокет другой процесс пишет код на скриптовом языке, код интерпретируется и исполняется от рута.
Рутовый процесс запускается процессом обычного юзера через su, sudo, kdesu, gksu или чем-то похожим, с вводом пароля
Есть ли в принципе какой-либо способ сделать так, чтобы передавать данные рутовому процессу мог только один разрешенный процесс? Правами доступа файловой системы можно запретить запись в сокет всем, кроме одного выбранного юзера, но этого недостаточно - любой другой процесс, запущенный от данного юзера тоже может писать в этот сокет. Генерировать пароль в одном процессе, передавать при запуске рутовому через переменные окружения и потом запрашивать пароль при открытии сокета тоже не пойдет - пароль можно перехватить при помощи strace