Como cancelar o tempo restante do sudo aplicado atualmente?

33

Quando acabei de executar sudo e não quero que ele permaneça ativo pela duração normal de seu tempo limite, como posso cancelar o tempo restante ativo ?

sudo -k mata para a sessão de terminal atual, mas se um processo está sendo executado nessa sessão e, portanto, não pode executar sudo -k , existe uma maneira de cancelá-lo de outra sessão de terminal?

Existe uma maneira de cancelar todos os sudo vezes aplicados no momento (para todas as sessões de terminal e todos os aplicativos em execução do gksudo, etc.?

Embora, pensando bem, uma GUI em execução pode simplesmente precisar ser desligada, mas eu apenas verifiquei que Alt + F2 mantém o gksu ativo para invocações subseqüentes .

    
por Peter.O 26.11.2010 / 04:40

3 respostas

31

Não tenho certeza se você quer matar um sudo timeout para que ele não seja timeout ou então o tempo limite é imediato, mas se você quiser remover o timestamp restante, use sudo -k

Caso contrário, se você estiver tentando cancelar um tempo limite para que o sudo não expire, não acho que isso seja possível em uma sessão atual. A única maneira que conheço seria alterar o timestamp_timeout no arquivo sudoers e reiniciar a sessão.

    
por wajiw 26.11.2010 / 04:52
8

Apenas em um dos seus pontos:

  

mas se um processo estiver em execução no momento   nessa sessão e, portanto, não pode executar o sudo   -k

Isto é específico para a linha de comando, se você quiser fazer qualquer coisa enquanto algum outro processo estiver rodando, você pode pressionar Ctrl + Z para pausar o processo; você então terá acesso ao terminal atual novamente, faça o que quiser. Quando estiver pronto, você pode digitar jobs para obter uma lista de processos, com um número ao lado deles. Digite fg 1 (por exemplo - e simplesmente fg se houver apenas um trabalho) para reiniciar um processo, elevando-o para o primeiro plano. Da mesma forma, bg para fazer a mesma coisa, mas deixando o processo em execução em segundo plano.

Exemplo de sessão

$ sudo apt-get install hello
<CTRL+Z>
[1]+  Stopped    sudo apt-get install hello
$ sudo -k
$ jobs
[1]+  Stopped    sudo apt-get install hello
$ fg 1
Loading database...
....
    
por Stefano Palazzo 26.11.2010 / 10:43
2

Eu encontrei uma solução. já que minha pesquisa não mostrou nada parecido e esta é uma pergunta frequente: o sudo armazena em algum lugar no sistema de arquivos (por exemplo em / var / run / sudo), um diretório por nome de usuário, vários arquivos que funcionam como data e hora , um arquivo para cada terminal. exclua esses arquivos e seu sistema estará seguro novamente. apenas lembre-se de que esses arquivos são visíveis apenas para o root (caso contrário, um invasor pode ler o registro de data e hora e definir o horário do relógio para um ponto em que eles ainda são válidos - conceder root-ls a alguém é perigoso). portanto, no meu / etc / pm / sleep / e talvez também para o protetor de tela que eu corro:

rm -f /var/db/sudo/*/*

como root, claro ...

    
por piotr5 02.05.2013 / 09:16

Tags