суббота, 22 марта 2008 г.

Получение прав root через PAM для программы

Моя программа требует привелегий суперпользователя и мне нужен графический ввод пароля root. Сначало я создавал скрипт bash, который вычеслял какая из программ есть в системе: kdesu,kdesudo,gtksu. Но многие писали мол не работает этот скрипт. Мне надоело его править и тут кстати мне подсказали систему PAM(Pluggable Authentication Modules). С помощью этих модулей мне не надо будет волноваться насчёт этого ввода вообще. Вот ход действий:
1) Создать в директории /etc/pam.d/ файл с названием Вашей программы приблизительно с таким содержанием:
#%PAM-1.0
auth include config-util
account include config-util
session include config-util
Подробнее о содержании файла в /etc/pam.d
2) В папку /usr/sbin скиньте бинарник программы с таким же названием, что и в /etc/pam.d/
3) В папке /etc/security создайте файл  с содержанием:
USER=root
PROGRAM=/usr/sbin/название программы
SESSION=true
4) Теперь создайте ссылку так: ln -s /usr/bin/consolehelper /usr/bin/имя программы
Готово ;) 

Комментариев нет: