В основном есть два пути:
отделить подзадачу, требующую root-доступа, в другую программу/скрипт и запустить эту часть от имени пользователя root (либо с помощью бинарного файла setuid root, либо с помощьюsudo
)
запустите все как root, а ту часть, которая должна быть запущена обычным пользователем черезsu - user