Para esclarecer, o sudo usa um arquivo de cache de timestamp (configurado no tempo de compilação com --with-rundir) e armazena um timestamp (consulte ts_write () com seu argumento struct timestamp) no arquivo. Essa estrutura é definida
struct ts_cookie {
char *fname;
int fd;
pid_t sid;
bool locked;
off_t pos;
struct timestamp_entry key;
};
em que fname é definido como o caminho para o arquivo de cache (e não a senha do usuário) - consulte timestamp_open (), onde ele usa asprintf(&fname, "%s/%s", def_timestampdir, user)
para definir fname
.