Considere este cenário:
- Usuário
ssh
em um sistema e faz o que quiser. Em seguida, agenda um
shutdown
uso:sudo shutdown -h +1
- Finalmente fecha a sessão ssh
Agora /run/nologin
foi criado e ninguém mais pode logar, mas surge algo e queremos ssh
voltar ao sistema antes que ele caia.
É possível cancelar remotamente o desligamento programado quando não tivermos mais permissão para fazer login?
Além de usar a conta "root" para fazer uma nova
ssh
conexão, podemos usar o PAM para permitir o login de usuários ou grupos específicos.As configurações do PAM
sshd
estão localizadas em:/etc/pam.d/sshd
que são responsáveis pelo que você está procurando.Editando este arquivo e usando
pam_succeed_if.so
, podemos permitir que um usuário ou grupo específico faça login mesmo quando/run/nologin
existe na máquina.Então, nós o usamos para detectar qualquer módulo que devemos carregar
pam_nologin.so
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:
E encontre estas linhas:
Adicione esta linha entre eles:
Então agora as linhas devem ficar assim:
Agora os usuários que estão em
sudo
grupo podem fazer login mesmo quando/run/nologin
existe.E para permitir um usuário específico:
Para condições mais flexíveis, confira:
Se
root
puder acessar remotamente o sistema,nologin
será ignorado. No entanto, a maioria dos administradores sensatos não permitirároot
o login remoto diretamente, em favor de um usuário autorizado que faça login e usesudo
. Se o último não for o caso, no entanto,root
pode efetuar login e abortar o desligamento.O
nologin
é ignorado para o usuário root. Portanto, você pode usar o SSH para se conectar como root, mas provavelmente tem uma distribuição que não permite logins de root por padrão. Você pode criar uma chave SSH e colocá-la em~root/.ssh/authorized_keys
, então você pode fazer login com essa chave como root.