提示输入 sudo 密码时显示一条消息

提示输入 sudo 密码时显示一条消息

我曾经见过一位 Ubuntu 用户在终端中使用 sudo 命令。在提示他输入密码之前,他看到了以下消息:

user1@linuxbox:~$ sudo apt-get update
Please do not run this command if you have not been granted sudo rights.
[sudo] password for user1:

我希望当用户运行 sudo 命令时在我的系统上显示类似的消息。当用户在终端上运行 sudo 命令时,我必须编辑/更改什么才能显示类似的消息?

答案1

查看你的 sudo 是否支持lecture_file选项

man sudoers | grep lecture_file

在我的情况下, man sudoers 是这么说的:

lesson_file 包含替代 sudo 讲座的文件路径,如果指定文件存在,将使用该讲座代替标准讲座。默认情况下,sudo 使用内置讲座。

因此,要更改文本,请将其添加到文件(例如)/etc/sudoers.lecture并从以下位置指向它/etc/sudoers

Defaults        lecture_file = /etc/sudoers.lecture

要在每次调用 sudo 时显示讲座,还请添加以下内容/etc/sudoers

Defaults        lecture = always

答案2

围绕该命令编写一个“包装脚本” sudo

sudo基本上,您用包含名为 的函数的脚本替换标准命令sudo()。此函数首先回显您的自定义消息,然后调用标准 sudo 命令/usr/bin/sudo

这个脚本将会是这样的:

#!/bin/bash
sudo(){
        echo "This is a custom message."
        /usr/bin/sudo "$@"
}

您需要确保脚本位于用户的路径中。这里(在“将所有内容整合在一起”下)很好地解释了如何执行此操作。Google“包装器脚本”可查看其他示例。

相关内容