Debian中visudo编辑/etc/sudoers时特定行未高亮的原因及标准咨询
关于visudo里
Defaults authfail_message="message"无语法高亮的问题 为啥没高亮?
visudo默认使用的编辑器(一般是vim)的sudoers语法高亮规则,没把authfail_message这个Defaults选项纳入高亮匹配的关键词列表中。
sudo的Defaults选项一直在迭代更新,但系统里的sudoers语法高亮配置文件(比如/usr/share/vim/vim*/syntax/sudoers.vim)可能没跟上版本节奏,导致较新的选项不被编辑器识别,自然就不会触发高亮效果。
判定标准是什么?
语法高亮的判定完全依赖编辑器的sudoers语法定义文件:
- 该文件会明确列出所有需要高亮的Defaults关键字、命令、用户组等元素
- 只有被写进这个定义文件里的内容,编辑器才会给它应用对应的高亮样式
- 如果某个Defaults选项是sudo新版本新增的,而系统里的语法文件还没同步更新,就不会被高亮
举个实际例子,vim的sudoers语法文件里会有类似这样的规则:
syn keyword sudoersDefaults env_keep env_delete secure_path timestamp_timeout ...
只有出现在sudoersDefaults这个列表里的选项才会被高亮,authfail_message要是不在这个列表中,就不会有高亮效果。
内容的提问来源于stack exchange,提问作者water
相关产品推荐
相关产品推荐

