Eu tenho um dispositivo do tipo raspi em um datacenter e, recentemente, acidentalmente gordoi e colei um comando de desligamento no terminal errado da minha tela. Existe uma maneira de manter, shutdown -r
mas remover #poweroff
#shutdown -P -H
opções?
Eu quero manter o shutdown -r
comando. Eu gosto de colocar um timer nele se eu conseguir congelar o sistema ou me trancar com as regras da tabela ip. exemploshutdown -r +10
fonte
systemctl
sem argumentos. Ele listará todas as unidades ativas, seu status e descrições. Adicione--all
e também listará as unidades que não estão ativas.man systemd.special
.Existem algumas maneiras de conseguir isso. Alguém poderia estar trabalhando com uma conta regular não privilegiada, que exigirá executar o comando com sudo e digitar uma senha. Então você pode anexar o seguinte em / etc / sudoers (executando visudo):
Além disso, para desativar o cache de credenciais do sudo, adicione também o seguinte:
Isso impedirá o armazenamento em cache de credenciais, caso você tenha chamado um comando com sudo antes.
Exemplo:
Observe como no exemplo acima não era necessário digitar minha senha durante a execução
sudo shutdown -r +10
, mas, pelo resto, era. Se você deseja remover a necessidade de digitar sudo antes do comando (sudo shutdown -r +10
), adicione o seguinte ao seu .bash_profile ou .bashrc:Exemplo:
Observe que é uma prática recomendada trabalhar com uma conta não privilegiada e escalar com o sudo quando necessário.
fonte
sudo
a configuração padrão do cache terá credenciais em cache por algum tempo após a primeira chamada. Isso pode ser conveniente quando a execução repetida de comandosroot
for necessária em uma sessão do usuário. Em uma sessão desse tipo (ou, de fato, se umroot
shell estiver em execução), seria totalmente possível realizar a transação do comandoshutdown
e ignorar as verificações.shutdown -r
para não solicitar senha ao executar com o sudo; portanto, se ele executar,sudo shutdown -r ...
as credenciais não serão armazenadas em cache, pois não serão inseridas. Veja o exemplo que eu dei acima. Você pode ver que eu o executei, seguido por umsudo shutdown -H
e fui solicitada a senha.sudo
e não era umaNOPASSWD
operação; por exemplo, uma chamada para editar um arquivo de configuração como root. Nesse caso, a senha será armazenada em cache e uma chamada subsequentesudo shutdown -H
será realizada.sudo
O cache de senhas da senha precisaria ser desativado para evitar isso.sudo
que basta digitar a senha e seguir em frente. Veja aqui uma abordagem alternativa usando o sudo (que provavelmente é muito melhor, apesar de não ser muito bom).Existe uma ferramenta chamada molly-guard que requer que você indique o nome do host da máquina que deseja desligar ou reiniciar.
Caso você não esteja usando o Debian, deve ser trivial compilar isso a partir do código-fonte, já que o programa é bastante primitivo.
fonte
Para evitar distribuições baseadas contratempos RHEL já criados aliás para
rm
,cp
emv
o qual pode ser um pouco mais destrutiva quando executada pelo utilizador raiz.Você pode adicionar o seu próprio, por exemplo:
fonte
shutdown -r
tempo desativadoshutdown -P -H
?Renomeie o encerramento do executável para algo impossível de invocar acidentalmente.
Então, apelido
shutdown
para ser(whatever) -r
fonte
shutdown
para/sbin/shutdown -r
. Renomear não é necessário; como a expansão do alias se refere a um caminho absoluto, ela não está sujeita à expansão recursiva do alias.