Linux-PAM和内核之间有什么关系? Linux-PAM是内核的一部分吗?
当我使用sudo
,tty
时,这种身份验证是否已在内核空间中完成?
答案 0 :(得分:2)
PAM完全在用户空间。它是一组需要验证凭据的程序使用的库。
例如,我机器上的ldd /usr/bin/sudo
显示
linux-vdso.so.1 => (0x00007fff30fff000) libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f5923fd4000) libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0 (0x00007f5923dc7000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f5923bc2000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f592382d000) /lib64/ld-linux-x86-64.so.2 (0x00007f59241fd000)
使用PAM库的二进制文件需要以root身份运行(例如,库代码可能需要访问/ etc / shadow)。