我曾经见过一位 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“包装器脚本”可查看其他示例。