Script para descartar temporariamente privilégios de administrador

1

Estou criando uma ferramenta de autocontrole para administradores. O script, quando executado por um administrador, abandonaria voluntariamente os privilégios de administrador. O administrador pode recuperar privilégios de administrador executando o script novamente, mas enfrenta um atraso intencional (de, digamos, 20 min).

Qual seria uma boa maneira de fazer isso?

Minha solução

Digamos que o administrador seja chamado de my-admin . Minha solução atual é a seguinte:

  • Adicione um arquivo em /etc/sudoers.d que permita que my-admin execute um script chamado /usr/local/bin/delayed-admin as root.
  • O script /usr/local/bin/delayed-admin faz o seguinte: Se my-admin fizer parte do grupo admin , ele será removido do grupo. E se my-admin não estiver no grupo admin , ele ficará suspenso por 20min e, em seguida, o adicionará ao grupo admin .

Isso parece funcionar, mas eu não gosto da idéia de mexer com o arquivo sudoer toda vez.

    
por Miheer 01.05.2017 / 01:22

1 resposta

0

Eu teria extrema cautela com isso, pois seria visto como uma grande vulnerabilidade de segurança, já que qualquer um pode potencialmente executar esse script e obter acesso de administrador ao seu sistema.

Para fornecer uma alternativa em torno dos sudoers e da configuração suders.d. Eu recomendaria que o script fosse verificado para ver se você faz parte do grupo de administradores e apenas execute um chmod -aG admins my-admin para adicionar a conta ou um gpasswd -d my-admin admins para remover a conta.

    
por 01.05.2017 / 02:54