sudo 中密码存储背后的机制

sudo 中密码存储背后的机制

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.

相关内容