Какая программа просто запрашивает пароль указанного пользователя (даже если вызывающий пользователь является пользователем root) и возвращает код выхода 0, если он в порядке, и 1, если произошел сбой?

Существует ли такая простая программа (т.е. не "sudo" с отредактированным конфигом) для выполнения задачи?

Также я ищу программу, которая будет входить в систему пользователя (проверять его пароль, писать в auth.log), но не выполнять какие-либо программы (например, login), просто вернуть код выхода.

3 ответа3

1

Вы хотите утилиту, известную как pwauth. Он делает именно то, что вы описываете: принимает имя пользователя и пароль, а затем возвращает код выхода на основе достоверности. Он предназначен для использования с apache mod_auth_external для подключения к системной аутентификации, но должен прекрасно работать для того, что вы хотите.

1

Что вы пытаетесь победить цель пользовательского сеанса, пользователь уже набрал этот пароль, когда он вошел в свою учетную запись, поэтому было бы грубо попросить его снова для вашей задачи; если вы хотите, чтобы ваша программа основывалась на входе в систему, тогда лучший способ - это поддерживать кольца ключей, это позволяет самому пользователю выбирать, явно ли вводить пароль для вашей задачи.

Не заставляйте пользователей снова вводить correct horse battery staple когда они только что ...

0

Похоже, самый простой способ - написать его, используя python-pam, используя /usr/share/doc/python-pam/examples/pamtest.py качестве примера. Пример читает пароль, аутентифицирует пользователя с помощью PAM и пишет сообщение в зависимости от результата. Может быть легко изменен на другой код выхода.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .