sudo 背后存储所有后续调用 sudo 密码的机制是什么?
答案1
为了澄清,sudo 使用时间戳缓存文件(在构建时使用 --with-rundir 配置)并存储时间戳文件的条目(请参阅 ts_write() 及其结构时间戳参数)。该结构已定义
struct ts_cookie {
char *fname;
int fd;
pid_t sid;
bool locked;
off_t pos;
struct timestamp_entry key;
};
其中 fname 设置为缓存文件的路径(而不是用户的密码)——请参阅 timestamp_open() ,它用于asprintf(&fname, "%s/%s", def_timestampdir, user)
设置fname
.