Joh*_*ith 5 command-line customization sudo password
我曾经看到一个 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:
Run Code Online (Sandbox Code Playgroud)
当用户运行 sudo 命令时,我想在我的系统上显示类似的消息。当用户在终端上运行 sudo 命令时,我必须编辑/更改什么才能显示类似的消息?
sto*_*orm 14
查看您的 sudo 是否支持lecture_file
选项
man sudoers | grep lecture_file
Run Code Online (Sandbox Code Playgroud)
这就是 man sudoers 在我的情况下所说的:
讲座文件 包含备用 sudo 讲座的文件的路径,如果指定的文件存在,它将用于代替标准讲座。默认情况下,sudo 使用内置讲座。
因此,要更改文本,请将其添加到文件中,例如/etc/sudoers.lecture
并从/etc/sudoers
以下位置指向它:
Defaults lecture_file = /etc/sudoers.lecture
Run Code Online (Sandbox Code Playgroud)
要在每次调用 sudo 时显示讲座,还将以下内容添加到/etc/sudoers
:
Defaults lecture = always
Run Code Online (Sandbox Code Playgroud)
围绕命令编写一个“包装脚本” sudo
。
基本上,您可以将标准sudo
命令替换为包含名为 的函数的脚本sudo()
。此函数首先回显您的自定义消息,然后调用标准 sudo 命令/usr/bin/sudo
。
这个脚本会是这样的:
#!/bin/bash
sudo(){
echo "This is a custom message."
/usr/bin/sudo "$@"
}
Run Code Online (Sandbox Code Playgroud)
您需要确保脚本位于用户的路径中。这里(在“将它们放在一起”下)很好地解释了如何做到这一点。谷歌“包装脚本”以获得其他示例。