Назад | Перейти на главную страницу

Google Authenticator PAM для конкретных пользователей

Моя текущая конфигурация sshd PAM:

#%PAM-1.0
auth       include      system-auth
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
session    optional     pam_keyinit.so force revoke
session    include      system-auth
session    required     pam_loginuid.so

Я добавляю Google Authenticator, но мы не готовы развернуть его для всех пользователей.

я верить следующее должно требовать PAM Google Authenticator для пользователей в группе 'gauth', но надеялся, что кто-то сможет проверить мою работу, прежде чем я уйду из SSH ...

#%PAM-1.0
auth       include      system-auth
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
auth [success=1 default=ignore] pam_succeed_if.so quiet user notingroup gauth
auth required pam_google_authenticator.so
session    optional     pam_keyinit.so force revoke
session    include      system-auth
session    required     pam_loginuid.so

Правильно ли я понимаю, что «success = 1» означает «пропустить следующую строку, если это успешно»?

Я считаю, что ваше понимание правильное, исходя из pam документация.

У вас должна быть возможность внести изменения, протестировать и вернуться, если необходимо, если вы откроете другое соединение для тестирования, оставив исходный сеанс ssh подключенным (убедитесь, что он не истекает по тайм-ауту!)

Когда я экспериментирую со стеком PAM, я обычно не использую сервис, который я на самом деле хочу изменить, поскольку это «продуктивный» сервис.

Поэтому в этом случае я бы протестировал с /etc/pam.d/login вместо ssh. Логин можно проверить, просто позвонив:

login

Если конфигурация PAM выглядит хорошо, я могу перенести ее на gdm, ssh или что угодно. (Кому нужен локальный логин ;-)

И да, успех = п означает, что в случае успеха пропустить следующий п линий.