LinuxForum.Fans
Тема

Изменение авторизации

Автор: kryuch 8 сообщений 1530 просмотров
#244411

Добрый день.
Возникла задача изменить функцию авторизации, то есть чтобы кроме стандартных действий она выполняла нужные мне. Я подумываю о таком решении:
1) реализовать функции авторизации (getpwent и т.д) в отдельной библиотеке
2) изменить LD_LIBRARY_PATH для вызова моей библиотеки
3) из своих функций вызывать родные линуксовские

Всвязи с этим возникли вопросы:
1) должно-ли сработать такое решение?
2) где реализованы функции авторизации (те что прописаны в /usr/include/pwd.h) ? ничего подобного libpwd.so не нашел
3) может быть требуемая задача решается более простым способом?

#244425
"kryuch" написал:
2) где реализованы функции авторизации (те что прописаны в /usr/include/pwd.h) ? ничего подобного libpwd.so не нашел

как определить:

text

$ sudo ldd /bin/passwd
# далее для каждой библиотеки:
$ objdump -T </путь/к/либе.so> | grep getpwent

путём не хитрых манипуляций выходим на libc.
может есть способ проще и красивее это посмотреть...

1) 3) хз.... сдаётся вы что-то тёмное и нехорошее задумали...
нормальное решение - это написать свои враперы с другими именами и использовать их в остальном коде.
для чего такая задача возникла?

#244432
Fat-Zer написал:

для чего такая задача возникла?

требование заказчика написать патч, который позволит использовать при авторизации аппартаные идентификаторы

#244439

Кстати да. Есть файл, например /etc/passwd, есть команды, что еще нужно.

#244443
"kryuch" написал:
требование заказчика написать патч, который позволит использовать при авторизации аппартаные идентификаторы

а чем не подходит:

"Fat-Zer" написал:
нормальное решение - это написать свои враперы с другими именами и использовать их в остальном коде.

такое извращение ИМХО уместно только если бинарник нельзя менять...

#244446
Fat-Zer написал:
[quote="kryuch"]требование заказчика написать патч, который позволит использовать при авторизации аппартаные идентификаторы

а чем не подходит:

"Fat-Zer" написал:
нормальное решение - это написать свои враперы с другими именами и использовать их в остальном коде.

такое извращение ИМХО уместно только если бинарник нельзя менять...[/quote]

Надо чтобы ОС использовала апаратные идентификаторы при проверке. То есть делает юзер su а там сразу апаратный идентификатор проверяется

#244450
"kryuch" написал:
Надо чтобы ОС использовала апаратные идентификаторы при проверке. То есть делает юзер su а там сразу апаратный идентификатор проверяется

с этого и надо было начинать, что на всю систему это должно распространяться...
большая часть программ сейчас работает или умеет работать через pam ...
ИМХО в его стороны и надо копнуть для начала.
наверняка уже есть что-то готовое - но это уже зависит от типа "аппартаного идентификатора"

#245147

Спасибо, разобрался с проблемой. Оказывается через PAM элементарно делается.

Войдите или зарегистрируйтесь, чтобы ответить.