当我输入错误的密码时,我想显示 file.txt 中的文本。我试过了:
/etc/sudoers
badpass_message=$(cat file.txt)
badpass_message=$(< file.txt)
但两者都错了。我收到此错误:语法错误。
有趣的是它适用于变量:
variable=$(cat file.txt)
echo $variable # prints content from file
怎么了?
答案1
该sudoers
文件不是 shell,因此您不能在其中使用 shell 结构。
这我所知道的最接近的您可以访问的内容是每次更改以下内容时更新sudoers
(使用) :visudo
file.txt
Default badpass_message="some custom error message"
与往常一样,在编辑时sudoers
,(a) 使用,(b)在第一个窗口中测试时visudo
打开另一个 root shell(使用)。sudo -s
在确认没有破坏文件之前,请勿关闭 root shell 窗口sudoers
。
您可能会发现sudo -k
在测试重置计时器和强制重新输入密码时很有用。