我有一个多年来一直用作 Web 服务器的 Amazon Linux 实例。好久没登录了,今天登录了,发现默认crontab
编辑器改成nano
了vi
.
我看过,对于我的生活,我无法弄清楚如何将它改回nano
,这就引出了一个问题 - 它是如何首先被普遍改变的?这可能是什么原因造成的?
我的两个问题是:
- 这怎么可能发生?
- 我怎样才能把它改回来(永久)?
我在日志或命令历史记录中看不到任何帮助,但我会注意到acme.sh
几个月前我为 Let's Encrypt 安装了新的/最新的更新程序,它确实为 root 用户安装了一个 cronjob(其中我知道)。
我可以通过设置.selected_editor
文件/值或通过来更改默认编辑器export EDITOR=/bin/nano
,但这似乎只解决了当前用户的问题(所以,如果我crontab -e -u <otheruse>
,它vi
再次编辑),但我希望 DEFAULT 编辑器更改为crontab
,所以我总是得到相同的编辑器,无论我是作为什么用户工作。
Unix 系统上编辑器的通常顺序如下:
VISUAL
,如果用户有 TTY 并且终端不是哑巴(即,TERM
设置为 以外的值dumb
)。EDITOR
。vi
.某些系统(例如 Debian)会稍微更改此顺序,通常通过调用诸如
sensible-editor
(fromsensible-utils
) 之类的工具来考虑步骤 2 和 3 之间的其他选项。但是,当前版本的 Amazon Linux 似乎没有使用这种方法 from我用容器进行测试。如果您使用的是 Nano 等终端编辑器,您可能只想设置
VISUAL
为nano
.但是,正如您所注意到的,这在某些情况下不起作用,
sudo
因为它默认清除环境,可能除了一些变量,例如TERM
. 这是出于安全原因,但并非所有系统都默认启用此选项,并且升级可能导致此选项在以前没有设置。您可以sudo -E
手动或通过别名使用不清除环境,或者您可以运行sudo visudo
并删除如下一行:请注意,如前所述,这具有您应该在手册页中阅读的安全注意事项。