O PAM tem a capacidade de restringir o acesso com base em uma lista de controle de acesso (pelo menos no Ubuntu) que, como a resposta do kubanskamac (+1), considera grupos como grupos posix, sejam armazenados em LDAP, /etc/group
ou NIS.
/etc/security/access.conf
é o arquivo da lista de acesso. No meu arquivo, eu coloquei no final:
-:ALL EXCEPT root sysadmin (ssh-users):ALL
Isso nega todos, exceto root, sysadmin e no grupo ssh-users (que está no LDAP) onde quer que eles façam login (o segundo ALL
).
Em seguida, no meu arquivo de conta do PAM (este é um módulo de conta), adiciono no final:
account required pam_access.so
que informa ao PAM para usar este arquivo. Funciona um prazer: -)