Моя программа должна писать в /var/log
а также /usr/lib
включая все подпапки в этих каталогах.
Как мне дать разрешение моей программе сделать это?
Единственный безопасный способ сделать это - запустить вашу программу от имени пользователя root. Любая программа, которая должна записывать в системные каталоги, должна в любом случае запускаться от имени пользователя root. Обычный пользователь не имеет доступа к этим каталогам.
Если вы действительно хотите сделать вашу систему небезопасной, вы можете посмотреть SUID. Хотя, как описано здесь, у вас будут проблемы с настройкой SUID для скриптов.
Я действительно не рекомендую это все же. Серьезно, просто запустите вашу программу от имени пользователя root. В производной от Debian системе (или любой другой, для которой настроен sudo) выполните:
$ sudo your_program_name
Если sudo не настроен, выполните:
$ su
$ your_program_name