Моя текущая конфигурация 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 или что угодно. (Кому нужен локальный логин ;-)
И да, успех = п означает, что в случае успеха пропустить следующий п линий.