Uma maneira simples seria apenas criar um usuário chamado shutdown e ter um script de login para eles, apenas o comando shutdown.
Em uma nota lateral, qual seria o caso de uso para isso?
A Red Hat tinha um recurso útil para mim no momento atual. Havia uma conta, geralmente chamada de "desligamento", e quando você entra com a conta, o sistema é desligado.
No meu caso específico, eu tenho Ubuntu Server em execução em uma VM no meu sistema local. A VM está executando um aplicativo da web e, quando terminar de trabalhar, quero encerrar a VM. Infelizmente, não consigo instalar ferramentas VMware para obter o desligamento baseado em "botão de energia". Atualmente eu faço o login, em seguida, sudo shutdown -h now
, em seguida, digite minha senha novamente e as coisas desligadas. Realmente, está ficando chato todo esse tempo esperando e digitando coisas.
Como faço para replicar a funcionalidade "conta de desligamento" no Ubuntu?
Uma questão relacionada, houve alguma pegadinha de segurança que motivou as pessoas a parar de usar esse tipo de conta?
Uma maneira simples seria apenas criar um usuário chamado shutdown e ter um script de login para eles, apenas o comando shutdown.
Em uma nota lateral, qual seria o caso de uso para isso?
Cheguei à mesma conclusão do reverendo1. Aqui está o que eu fiz:
Crie o usuário de sudo adduser --system shutdown
Defina a senha do novo usuário em sudo passwd shutdown
Crie um script que efetue o desligamento de sudo vi /home/shutdown/shutdown_script.sh
/usr/bin/sudo /sbin/shutdown -h now
Definir permissões para o script
sudo chown shutdown:nogroup /home/shutdown/shutdown_script.sh
sudo chmod 500 /home/shutdown/shutdown_script.sh
Edite o login do usuário em sudo vi /etc/passwd
shutdown:x:106:65534::/home/shutdown:/bin/false
shutdown:x:106:65534::/home/shutdown:/home/shutdown/shutdown_script.sh
Edite o arquivo SUDOers para permitir que o usuário execute o desligamento:
sudo visudo
e adicione no final as duas linhas seguintes:
Cmnd_Alias SHUTDOWN=/sbin/shutdown -h now
shutdown ALL=NOPASSWD: SHUTDOWN
Em resposta à segunda parte da minha pergunta, um pôster no link indica que criar um usuário de desligamento dificulta a manutenção da segurança. Não sei porquê.