Meu caso de uso é que tenho um script que remove meu usuário do grupo sudo e então me adiciona novamente em um determinado momento no futuro usando o at
comando.
O problema é que tenho que reiniciar a máquina toda vez para que as alterações tenham efeito: na primeira vez para deixar de ser o usuário sudo e na segunda vez (depois que o script me adicionou novamente ao grupo sudo) para poder ser ele novamente.
Estranhamente meu DE (Cinnamon) e o explorador de arquivos (Nemo) pegam as mudanças imediatamente, o que significa que se eu tentar ir para um fodler e "abrir como root", não posso fazer isso se eu tiver executado o script e for removido do grupo sudo. Mas se eu for no terminal e, por exemplo, eu fizer sudo apt update
isso, funcionará, a menos que eu reinicie.
O objetivo é fazer com que a remoção/adição do meu usuário ao grupo sudo reflita efetivamente sem precisar reinicializar minha máquina. (Eu digo reinicializar e não sair porque, estranhamente, sair aparentemente não vai funcionar).
Pesquisei online e uma solução foi executar:
sudo service sudo restart
Mas o problema é que recebo o erro: Failed to restart sudo.service: Unit sudo.service is masked.
Tentei desmascarar, sudo.service
mas nada mudou.
Info : Estou no Linux Mint 22 com Cinnamon 6.2.9. Kernel Linux: 6.8.0-48-generic
Editar:
Objetivo de todo o script
Estou fazendo um fork de um projeto chamado delayed-admin . O que isso faz é basicamente remover o usuário principal do grupo sudo para que você não possa executar nada que exija sudo
acesso. Existem então apenas duas maneiras de executar um comando que exija sudo
:
- Aguardando as
at
funções agendadas que colocam o usuário de volta no grupo sudo (porque quando você inicia o comando com osudo ./abdicate.sh "now + 3 hours"
comando sudo, você fica bloqueado por 3 horas). - Usando o comando
sudo delayed example-command
dessa forma, o comandoexample-command
será executado mesmo se você não estiver no grupo sudo, mas será executado com um certo atraso escolhido pelo usuário através de um arquivo de configuração.
O que eu quero alcançar: ser capaz de perder/ganhar privilégios sudo quando o script remover/adicionar meu usuário ao grupo sudo, sem reiniciar minha máquina.