这是一个棘手的问题。我知道将 NOPASSWD 放入 sudoers 文件中以不允许使用密码。但我正在尝试恢复此操作,并发现我拥有的服务器在任何地方都没有 NOPASSWD 的痕迹。两者都没有文件/etc/sudoers.d
。
当我跑步时sudo --list
,我确实看到了(root) NOPASSWD: ALL
。
运行sudo -k
仍然不要求输入密码。我无法粘贴确切的 sudoers 文件,因为它位于与此计算机不同的网络上。所以我会输入评论中没有的所有内容:
Defaults !visiblepw
Defaults always_set_home
Defaults match_group_by_gid
Defaults always_query_group_plugins
Defaults env_reset
Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS"
Defaults env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"
Defaults env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"
Defaults env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
Defaults env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
root ALL=(ALL) ALL
%wheel All=(ALL) ALL
我的猜测是其他原因导致了这种情况,因为我构建的最新服务器没有发生这种情况。
我猜如果您使用此配置,就不会有任何问题。是否有任何其他程序/包会导致此问题,例如 sssd?
这与 IPA 相关,但没有与该服务器相关的 sudo 规则。我解决此问题的最后手段是重建服务器,但我想找出导致此问题的原因,如果它是另一个程序或只是一个错误。
答案1
感谢 Sotto 的评论,我检查了 IPA,结果发现它确实创建了 sudo 规则,并且启用了 !authenticate 选项,这导致没有密码。谢谢索托·沃斯。