Eu tenho um PC Ubuntu rodando como um servidor plex. Como faço para que ninguém possa desligar o computador, mas apenas permitir que o usuário reinicie a máquina? Eu sei que é possível no Windows, mas só estou me perguntando se é possível no Ubuntu.
Responder1
A maneira mais eficaz de fazer isso seria mascarar o alvo de desligamento assim:
sudo systemctl mask poweroff.target
Agora será impossível para qualquer pessoa desligar a máquina, a menos que mantenha pressionado o botão liga/desliga ou desconecte fisicamente a máquina da energia.
A reinicialização não é afetada por esta máscara.
Caso você precise desligar a máquina no futuro para manutenção ou substituição de hardware, você pode unmask
:
sudo systemctl unmask poweroff.target
Responder2
Se você só precisa dar o poder de reinicialização para usuários não administradores,você pode adicionar uma entrada para eles em seu sudoers
arquivo parareboot
(e/ou systemctl reboot
, dependendo do que você deseja que eles executem). Então eles poderão executar sudo reboot
(e/ou sudo systemctl reboot
).Esta resposta pressupõe que eles não tenham acesso asudo
- ou seja, que são usuários normais, não administradores, que não fazem parte do wheel
grupo.
O sudoers
arquivo reside em /etc/sudoers
, mas vocênão deveriaedite-o diretamente. Em vez disso, você só deve editá-lo usando visudo
. Você precisará ser root para editá-lo, então você executará o sudo visudo
. O visudo
comando irá verificar a sintaxe de suas edições, e você deve sempre usar isso para evitar quebrar sua configuração e evitarvocê mesmoobter acesso root no futuro.
Em seguida, você pode adicionar algo como as seguintes linhas ao seu sudoers
arquivo:
username ALL=(root): /usr/sbin/reboot
username ALL=(root): /usr/bin/systemctl reboot
onde username
é o nome de usuário do usuário (ou %groupname
de um grupo) e onde os caminhos são os caminhos reais para os comandos em seu sistema (verifique com which
, por exemplo, which reboot
.).
Para mais informações, confiraman sudoers
,man sudo
, eman visudo
.