如何禁用 Ubuntu 服務器中終端歡迎消息中的廣告
發布時間: 2018-11-06
如果你正在使用最新的 Ubuntu 服務器版本,你可能已經注意到歡迎消息中有一些與 Ubuntu 服務器平臺無關的促銷鏈接。你可能已經知道 MOTD,即 Message Of The Day 的開頭首字母,在 Linux 系統每次登錄時都會顯示歡迎信息。通常,歡迎消息包含操作系統版本,基本系統信息,官方文檔鏈接以及有關最新安全更新等的鏈接。這些是我們每次通過 SSH 或本地登錄時通常會看到的內容。但是,最近在終端歡迎消息中出現了一些其他鏈接。我已經幾次注意到這些鏈接,但我并在意,也從未點擊過。題圖是我的 Ubuntu 18.04 LTS 服務器上顯示的終端歡迎消息。
正如你在上面截圖中所看到的,歡迎消息中有一個 bit.ly 鏈接和 Ubuntu wiki 鏈接。有些人可能會驚訝并想知道這是什么。其實歡迎信息中的鏈接無需擔心。它可能看起來像廣告,但并不是商業廣告。鏈接實際上指向到了 Ubuntu 官方博客[1] 和 Ubuntu wiki[2]。正如我之前所說,其中的一個鏈接是不相關的,沒有任何與 Ubuntu 服務器相關的細節,這就是為什么我開頭稱它們為廣告。
雖然我們大多數人都不會訪問 bit.ly 鏈接,但是有些人可能出于好奇去訪問這些鏈接,結果失望地發現它只是指向一個外部鏈接。你可以使用任何 URL 去短網址服務,例如 unshorten.it,在訪問真正鏈接之前,查看它會指向哪里?;蛘?,你只需在 bit.ly 鏈接的末尾輸入加號(+)即可查看它們的實際位置以及有關鏈接的一些統計信息。
什么是 MOTD 以及它是如何工作的?
2009 年,來自 Canonical 的 Dustin Kirkland 在 Ubuntu 中引入了 MOTD 的概念。它是一個靈活的框架,使管理員或發行包能夠在 /etc/update-motd.d/ 位置添加可執行腳本,目的是生成在登錄時顯示有益的、有趣的消息。它最初是為 Landscape(Canonical 的商業服務)實現的,但是其它發行版維護者發現它很有用,并且在他們自己的發行版中也采用了這個特性。
如果你在 Ubuntu 系統中查看 /etc/update-motd.d/,你會看到一組腳本。一個是打印通用的 “歡迎” 橫幅。下一個打印 3 個鏈接,顯示在哪里可以找到操作系統的幫助。另一個計算并顯示本地系統包可以更新的數量。另一個腳本告訴你是否需要重新啟動等等。
從 Ubuntu 17.04 起,開發人員添加了 /etc/update-motd.d/50-motd-news,這是一個腳本用來在歡迎消息中包含一些附加信息。這些附加信息是:
1. 重要的關鍵信息,例如 ShellShock、Heartbleed 等2. 生命周期(EOL)消息,新功能可用性等3. 在 Ubuntu 官方博客和其他有關 Ubuntu 的新聞中發布的一些有趣且有益的帖子另一個特點是異步,啟動后約 60 秒,systemd 計時器運行 /etc/update-motd.d/50-motd-news –force 腳本。它提供了 /etc/default/motd-news 腳本中定義的 3 個配置變量。默認值為:ENABLED=1, URLS="https://motd.ubuntu.com", WAIT="5"。
以下是 /etc/default/motd-news 文件的內容:
$ cat /etc/default/motd-news
# Enable/disable the dynamic MOTD news service
# This is a useful way to provide dynamic, informative
# information pertinent to the users and administrators
# of the local system
ENABLED=1
# Configure the source of dynamic MOTD news
# White space separated list of 0 to many news services
# For security reasons, these must be https
# and have a valid certificate
# Canonical runs a service at motd.ubuntu.com, and you
# can easily run one too
URLS="https://motd.ubuntu.com"
# Specify the time in seconds, you're willing to wait for
# dynamic MOTD news
# Note that news messages are fetched in the background by
# a systemd timer, so this should never block boot or login
WAIT=5
好事情是 MOTD 是完全可定制的,所以你可以徹底禁用它(ENABLED=0)、根據你的意愿更改或添加腳本、以秒為單位更改等待時間等等。
如果啟用了 MOTD,那么 systemd 計時器作業將循環遍歷每個 URL,將它們的內容縮減到每行 80 個字符、最多 10 行,并將它們連接到 /var/cache/motd-news 中的緩存文件。此 systemd 計時器作業將每隔 12 小時運行并更新 /var/cache/motd-news。用戶登錄后,/var/cache/motd-news 的內容會打印到屏幕上。這就是 MOTD 的工作原理。
此外,/etc/update-motd.d/50-motd-news 文件中包含自定義的用戶代理字符串,以報告有關計算機的信息。如果你查看 /etc/update-motd.d/50-motd-news 文件,你會看到:
# Piece together the user agent
USER_AGENT="curl/$curl_ver $lsb $platform $cpu $uptime"
這意味著,MOTD 檢索器將向 Canonical 報告你的操作系統版本、硬件平臺、CPU 類型和正常運行時間。
到這里,希望你對 MOTD 有了一個基本的了解。
現在讓我們回到主題,我不想要這個功能。我該如何禁用它?如果歡迎消息中的促銷鏈接仍然困擾你,并且你想永久禁用它們,則可以通過以下方法快速禁用它。
在 Ubuntu 服務器中禁用終端歡迎消息中的廣告
要禁用這些廣告,編輯文件:
$ sudo vi /etc/default/motd-news
找到以下行并將其值設置為 0(零)。
[...]
ENABLED=0
[...]
保存并關閉文件?,F在,重新啟動系統,看看歡迎消息是否仍然顯示來自 Ubuntu 博客的鏈接。
看到沒?現在沒有來自 Ubuntu 博客和 Ubuntu wiki 的鏈接。