Suponha que um usuário não root com privilégios sudo execute um desligamento atrasado ( shutdown +10
ou o que seja) e efetue logout. Então, antes que o desligamento ocorra, ele deseja efetuar login novamente e cancelar o desligamento. O problema é que ele shutdown
cria /etc/nologin
e login
apenas permite que o root efetue login quando esse arquivo existe ... é possível criar uma exceção para um usuário?
Caso contrário, qual seria a melhor maneira de permitir que um usuário inicie um desligamento atrasado e depois faça login e cancele-o posteriormente?
users
login
shutdown
not-root-user
suszterpatt
fonte
fonte
shutdown now
oat
agendador como solução alternativa.Respostas:
Se o seu sistema usa o PAM , a negação de login quando
/etc/nologin
existe é acionada pelopam_nologin
módulo .Você pode ignorar a
pam_nologin
chamada para usuários que correspondem a determinados critérios compam_succeed_if
. Por exemplo, se você deseja permitir que os usuários doadm
grupo efetuem login em um console de texto, mesmo que/etc/nologin
exista, adicione a seguinte linha/etc/pam.d/login
antes da linha comauth requisite pam_nologin.so
:fonte
A resposta de Gilles acima é muito boa, mas observe que você deve combinar o "tipo" com o tipo de pam_nologin.so. Por exemplo, no meu sistema RHEL5:
... se eu usasse auth, como a outra resposta solicitou, não funcionaria.
fonte
A versão de Vesa K da resposta de Ryan Novosielski funciona para mim, mas as linhas estão em:
não:
No meu caso, eu só quero que o UID 1000 no Ubuntu 14.04 LTS tenha permissão para fazer login via SSH.
fonte
Não tenho certeza se é possível substituir a
/etc/nologin
criação / uso sem truques sujos. Mas, para o seu propósito, você pode usar uma função como esta:Após o login novamente, a exclusão do arquivo
/tmp/GOING-DOWN
impedirá o desligamento.editar : adicionada uma maneira simples de cancelar o desligamento.
fonte
Tentei a regra de Ryan hoje e descobri que as respostas de Gils e Ryan têm regras de sucesso / padrão "revertidas", o nologin bloqueia apenas o nx-group. Foi assim que implementei essa regra (o grupo nx não é bloqueado pelo nologin).
fonte