Como o script /etc/init.d/sudo funciona?

2

Eu estava lendo o script /etc/init.d/sudo . Foi escrito como um comentário no script que fornece privilégios de superusuário limitados a usuários específicos .

No entanto, não consegui entender o roteiro de como está funcionando? Alguém pode me explicar o roteiro?

Estou usando o Ubuntu 14.04 de 32 bits.

    
por crisron 08.09.2014 / 17:48

2 respostas

5

Os arquivos init, que são executados na inicialização do sistema (ou sob demanda), fazem duas coisas principais:

  • eles iniciam daemons em execução
  • eles executam várias tarefas de uma só vez por inicialização, como limpar ou preparar arquivos, definir parâmetros de rede, etc.

Nesse caso, o script sudo init não inicia um daemon. Em vez disso, ele invalida todos os arquivos de credenciais em cache que podem ter sido deixados quando o sistema foi desligado pela última vez. Ele faz isso usando touch para definir seu tempo de modificação para um tempo muito longo atrás (0, que é 1 de janeiro de 1970).

case "$1" in
  start)
        # make sure privileges don't persist across reboots
        if [ -d /var/lib/sudo ]
        then
                find /var/lib/sudo -exec touch -d @0 '{}' \;
        fi
        ;;
    
por 08.09.2014 / 19:18
1

Os scripts em /etc/init.d estão lá para permitir o início e a interrupção dos serviços por systemd e sistemas init semelhantes. Eles têm um formato específico e são realmente chamados quando você faz algo como

service sudo stop

Assim, o script que você mencionou é simplesmente um wrapper que pode iniciar ou interromper o serviço sudo . Para mais detalhes, sugiro que você leia os scripts de inicialização do Linux.

    
por 08.09.2014 / 18:18