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, но мы не готовы распространить его на всех пользователей.

Я полагаю, что для пользователей из группы "gauth" должно потребоваться PAM Google Authenticator, но я надеялся, что кто-нибудь сможет проверить мою работу, прежде чем я выйду из 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" означает "пропустить следующую строку, если это успешно"?

2 ответа

Решение

Я верю, что вы понимаете правильно, основываясь на документации PAM.

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

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

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

login

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

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

Другие вопросы по тегам