我正在配置尤比科-潘以启用无密码的sudo访问,使用来自Yubikey的问题响应。以下工作:
# /etc/pam.d/sudo
auth sufficient pam_yubico.so mode=challenge-response
auth required pam_opendirectory.so
account required pam_permit.so
password required pam_deny.so
session required pam_permit.so除非pam_yubico.so模块丢失、卸载或损坏,否则您将被告知:
$ sudo sudo:无法初始化
是否可以告诉PAM忽略缺少的模块,而不是直接返回并阻止PAM继续对堆栈进行评估?
发布于 2015-04-03 00:09:47
在扩展语法(请参阅pam.conf(5))中,可以通过为open_err错误代码定义行为来定义dlopen()调用失败时的自定义行为。尽管如此,sufficient应该已经为您完成了这一任务。下面是来自同一个命令页的等效扩展语法:
sufficient
[success=done new_authtok_reqd=done default=ignore]看到最后那个default=ignore了吗?
The last of these, default, implies ´all valueN´s not mentioned
explicitly. Note, the full list of PAM errors is available in
/usr/include/security/_pam_types.h. 换句话说,default=ignore等同于open_err=ignore。除非PAM以一种未在这里记录的方式运行,否则这将意味着故障发生在堆栈的更远的地方。
为了消除任何疑问,以下是标题中PAM_OPEN_ERR的定义:
#define PAM_OPEN_ERR 1 /* dlopen() failure when dynamically */
/* loading a service module */https://serverfault.com/questions/680087
复制相似问题