A permissão sudo não atinge o tempo limite durante a atualização do apt-get

9

Considere o seguinte: você digita $sudo apt-get upgradee obtém uma lista de itens que precisam ser atualizados com a confirmação "Y \ n". antes de poder ler a lista e digitar "Y" ou "n", o telefone toca ou seu chefe entra ou você faz outra coisa. Você volta uma hora depois e pressiona Y para instalar as atualizações.

você não será solicitado a fornecer uma senha novamente. presumivelmente, qualquer outro comando sudo no shell será executado, porque o timer ficou em espera aguardando a entrada do usuário. Ou um usuário pode interromper o processo de atualização e fazer algo assim sudo -ie simplesmente permanecer no root indefinidamente.

Estou usando o ubuntu mate 14.04

essa é uma exceção de segurança digna de nota? Devo tentar denunciá-lo em algum lugar? Se sim, onde?

j0h
fonte
5
O que você quer dizer com "presumivelmente"? Você já tentou ou não?
luckyrumo
3
Eu tentei isso agora, mesmo com Defaults passwd_timeout=3 meu arquivo sudoers, ao executar a sudo apt-get upgradesenha não é solicitada. Isso não é bom #
Sergiy Kolodyazhnyy
Eu não tenho o problema, com configurações padrão no Ubuntu 15.04
luckyrumo
11
@TobiasKienzler nope. Não alterei meu arquivo sudoers de forma alguma, exceto por adicionar essa parte passwd_timeout. Chech minha resposta. O problema ocorreu com o tempo limite do carimbo de data / hora. Estas são opções diferentes
Sergiy Kolodyazhnyy
11
@ Berg vejo, há dois tempos limite. Como convenientemente confuso: / Obrigado :)
Tobias KIENZLER

Respostas:

22

Você não é solicitado a fornecer uma senha porque sudofez seu trabalho e foi iniciado apt-getcomo root. Enquanto estiver no prompt, o apt-getprocesso ainda está sendo executado e, como ainda está sendo executado como root, não há necessidade de digitar sua senha novamente.

Em outras palavras, enquanto um sudoprocesso em execução estiver sendo executado, você não será solicitado a digitar sua senha novamente para esse processo; sudonão interrompe o processo a cada 15 minutos (o tempo limite padrão) e solicita sua senha.

Agora, se você abrir outro terminal e tentar executar outro processo sudo, será solicitada sua senha.

saiarcot895
fonte
5
... ou mesmo no mesmo terminal, após o comando de pausa sudo completou
steeldriver
3

sudoA timestamp_timeoutvariável padrão é 15 minutos. Isso significa que, se você clicar em n em sudo apt-get upgrade15 minutos, poderá antecipar a inserção do shell raiz com sudo -i. Foi exatamente o que aconteceu. No entanto, se você definir /etc/sudoerscomo Default timestamp_timeout 0, será solicitado sempre. Pessoalmente, defini-o como 3. Se o seu sudo não atingir o tempo limite mesmo após 15 minutos, há algo seriamente errado com o seu sudobinário.

Esse comportamento não é uma falha de segurança, mas um "recurso de conveniência" para os usuários do sudo. No entanto, posso concordar que, para uma segurança mais rígida, o tempo timestamp_timeoutdeve ser definido para um tempo muito menor que 15 minutos.

Nota : a passwd_timeoutopção que mencionei no meu comentário expira o prompt de senha quando você não digita a senha por x minutos. Esse é um dos momentos agradáveis ​​em que você percebe que deve ler com man sudoersmuito mais cuidado.

Sergiy Kolodyazhnyy
fonte
2
note que você não deve nunca editar /etc/sudoersdirectamente, utilize visudovez que verifica erros de sintaxe antes de substituir sudoerscom um arquivo defeituoso que poderiam inteiramente bloqueá-lo de acesso root
Tobias KIENZLER
0

Eu sugiro que você digite sudo apt-get upgrade && exitisso para sair do terminal após concluir a atualização. Quando a atualização é cancelada, o terminal não fecha, mas acho que não será esse o caso.

Marton
fonte