Além de usar a conta "root" para criar uma nova conexão ssh
, podemos usar o PAM para permitir o login de usuários ou grupos específicos.
As configurações do PAM de sshd
estão localizadas em: /etc/pam.d/sshd
, que são responsáveis pelo que você está procurando.
Ao editar este arquivo e usar pam_succeed_if.so
, podemos permitir que um usuário ou grupo específico faça login mesmo quando /run/nologin
existir na máquina.
pam_succeed_if.so is designed to succeed or fail authentication based on characteristics of the account belonging to the user being authenticated or values of other PAM items. One use is to select whether to load other modules based on this test.
Por isso, o usamos para detectar qualquer coisa que devamos carregar pam_nologin.so
module ou não com base no seu nome de usuário ou grupo de usuários.
Abra o arquivo usando seu editor de texto favorito:
$ sudo vi /etc/pam.d/sshd
E encontre estas linhas:
# Disallow non-root logins when /etc/nologin exists.
account required pam_nologin.so
Adicione esta linha entre eles:
account [default=1 success=ignore] pam_succeed_if.so quiet user notingroup sudo
Então agora as linhas devem ficar assim:
# Disallow non-root logins when /etc/nologin exists.
account [default=1 success=ignore] pam_succeed_if.so quiet user notingroup sudo
account required pam_nologin.so
Agora, os usuários que estão em sudo
group podem fazer login mesmo quando /run/nologin
existir.
E para permitir um usuário específico:
account [default=2 success=ignore] pam_succeed_if.so quiet user != username
Para verificações mais flexíveis:
man pam_succeed_if