Quando começa a contar o limite de tempo definido para o cache de senhas no 'sudo'?

1

Se eu executar um comando demorado com sudo , depois que ele terminar a execução, se eu executar outro comando com sudo , parece que não preciso digitar minha senha novamente. Parece que a senha que eu digitei foi armazenada em cache o tempo todo quando o comando anterior está em execução e ainda é armazenada em cache por um tempo depois que o comando anterior termina de ser executado.

Quando ele começa a contar o limite de tempo definido para o cache de senhas em sudo ?

Obrigado.

Atualização:

$ sudo sleep 14m ; sudo ls;
[sudo] password for t: 
file  file1  file2  

$ sudo sleep 15m; sudo ls;
[sudo] password for t: 
[sudo] password for t: 

O comando acima indica que o limite de tempo para o cache de senha começa a contar quando eu digito a senha?

    
por Tim 23.07.2018 / 19:11

2 respostas

1

Existe apenas um período de tempo limite por usuário. O timestamp de início do tempo limite é armazenado dentro de um arquivo. O local do arquivo varia de acordo com o sistema operacional. A maioria das ações válidas usando o sudo irá redefinir o registro de data e hora. Uma ação como sudo -n não redefinirá o registro de data e hora. Uma ação como sudo -k removerá o registro de data e hora.

Para verificar o arquivo, você precisa de um console como root para poder listar o arquivo a qualquer momento e um segundo console para iniciar, apagar e testar o arquivo de timestamp.

  1. Abra um console, efetue login na raiz; listar o arquivo de timestamp:

    $ sudo su -
    [sudo] password for thisuser: ******
    # ls -la /var/lib/sudo/ts/thisuser
    -rw------- 1 root thisuser  240 Jul 24 07:20 thisuser
    
  2. No console segundo , redefina o registro de data e hora (K maiúsculo):

    $ sudo -K
    
  3. Verifique se o arquivo foi apagado usando o primeiro console.

  4. Iniciar uma nova sessão de sudo

    $ sudo su -
    [sudo] password for thisuser: ******
    # ls -la /var/lib/sudo/ts/thisuser
    -rw------- 1 root thisuser  240 Jul 24 07:25 thisuser
    

A hora nesse arquivo é a última vez em que foi atualizado, provavelmente o ponto em que o tempo limite padrão de data e hora é iniciado. Na verdade, é o registro de data e hora contido no arquivo, mas na maioria dos casos os dois são os mesmos.

Docs

De man sudoers (o tempo limite padrão em minutos ( 15 )). (ênfase minha)

timestamp_timeout
Number of minutes that can elapse before sudo will ask for a password again. The timeout may include a fractional component if minute granularity is insufficient, for example 2.5. The default is 15. Set this to 0 to always prompt for a password. If set to a value less than 0 the user's time stamp will not expire until the system is rebooted. This can be used to allow users to create or delete their own time stamps via sudo -v and sudo -k respectively.

Também de man sudoers (diretório de timestamp ( / var / lib / sudo / ts no linux / var / run / sudo / ts no FreeBSD e outros )) (ênfase minha):

timestampdir
The directory in which sudo stores its time stamp files. This directory should be cleared when the system reboots. The default is /var/lib/sudo/ts.

Pergunta relacionada
Como ler o arquivo de timestamp

    
por 24.07.2018 / 09:57
0

Isso pode variar de acordo com o SO, mas no Ubuntu seus privilégios administrativos duram por 15 minutos por padrão. Você pode modificar esse valor de tempo limite conforme descrito aqui: link , por exemplo

    
por 23.07.2018 / 19:54

Tags