Ao usar o sudo no Linux, ele solicita a senha root, mas apenas na primeira vez em que você o executa. Se você executar outro comando sudo, lembre-se de que você já digitou a senha anteriormente e não pede:
thomas@ubuntu:~$ sudo id
[sudo] password for thomas: ******
uid=0(root) gid=0(root) groups=0(root)
thomas@ubuntu:~$ sudo id
uid=0(root) gid=0(root) groups=0(root)
Como o sudo faz isso? Onde essas informações são armazenadas? Minha idéia é que ele se lembre da identificação do terminal (como pts / 1), mas onde isso é armazenado? O primeiro processo sudo é encerrado quando o comando é finalizado, certo?
Eu sei que sudo é um programa setuid, por isso tem privilégios de root o tempo todo, mas ainda não consigo pensar em um bom lugar para armazenar informações que um usuário já digitou uma senha. Existe algum processo de daemon envolvido?