1. а где находится переменная errno и как к ней обратиться?
Это глобальная переменная объявлена она в <errno.h>. За подробностями "man 3 errno". И на будущее любите системную документацию, там почти обо всём рассказывается, если соответствующих пакетов нет, то, если маесто позволяет, доустановите все соответствующие пакеты -doc, или как они в вашем дистрибутиве называются...
по правам пока в растерянности... гуглю.
В некоторых утилитах используется стандартное окно "Введите пароль для выполнения административных функций...".
2. Этим механизмом как то можно пользоваться?
лучше использовать стандартные утилиты, которые тут назвал
takefive. Ещё kdesu/kdesudo для kde.
Можно конечно ещё авторизовываться ручками. Если не ошибаюсь, они все работают через pam (библиотека для авторизации), но написание своего авторизатора - потенциальная дыра в безопасности.