无法在 CentOS 7 服务器上运行 sudo 讲座

无法在 CentOS 7 服务器上运行 sudo 讲座

我试图在每次有人执行 sudo 时启用 sudo 讲座,但似乎根本无法让它发挥作用。

我发现了类似的问题这里其中有人指出,如果执行时没有看到任何结果strings /usr/bin/sudo | grep -A4 -i "lecture",则 sudo lesson 未启用,而我没有看到任何结果,所以现在我正在尝试启用它。

我创建了一个/etc/sudoers.d/lecture文件内容如下:

Defaults        lecture = always
Defaults        lecture_file = /etc/sudoers.lecture

并确保我的/etc/sudoers文件包括/etc/sudoers.d目录。这是我的 sudoers 文件的内容:

Defaults    requiretty
Defaults   !visiblepw
Defaults    always_set_home
Defaults    env_reset
Defaults    env_keep =  "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC 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)       NOPASSWD:ALL
#includedir /etc/sudoers.d

我以为#前面的includedir是注释掉的,但当我“取消注释”它时,每次我执行 sudo 时都会出错。所以在查看手册后,我发现了这一行:

从 /etc/sudoers.d 读取插入文件(这里的 # 不表示注释)

所以显然这#不是一个评论......很奇怪。

因此现在/etc/sudoers.d/lecture文件引用/etc/sudoers.lecture我创建了它,其内容只有简单的“Hello World”。

但是,当我使用 sudo 时,我仍然看不到任何讲座,并且仍然看不到任何演讲字符串strings /usr/bin/sudo...我一定是做错了什么,我就是找不到它。

任何帮助都值得感激,谢谢!

答案1

lecture = alwayssudo 手册页没有透露有关和 的组合行为的任何信息NOPASSWD

如果要求用户输入密码,并且lecture=always,那么lecture 将会在密码提示之前显示。可能是因为lecture 出现在密码提示之前,如果没有提示,那么就没有lecture。

相关内容