Ist es möglich, Befehle in / etc / motd abzulegen?

13

Kann ich Shell-Befehle in die /etc/motdLogin-Banner-Datei einfügen? Ich habe versucht:

 $(uptime)

und

`uptime`

Ist das möglich?

Justin
quelle

Antworten:

15

/etc/motd wird nur gelesen und nicht ausgeführt, technisch gesehen können Sie dort keine Shell-Befehle einfügen.

Es ist jedoch möglich, beim Anmelden ein Shell-Skript auszuführen, das das gleiche Ergebnis liefert. Dies wird normalerweise durch Anpassen des /etc/profileSkripts erreicht, das jedes Mal ausgeführt wird, wenn sich ein Benutzer anmeldet. Eine nützliche Vorgehensweise besteht darin, den Befehl, den Sie ausführen möchten, in ein Skript mit dem Namen zu schreiben /etc/motd.shund dieses Skript von aufzurufen /etc/profile, normalerweise gegen Ende.

Tonin
quelle
3
Es ist keine übliche Praxis, /etc/motd.sh
1
@EricDANNIELOU Ja, man kann jeden gewünschten Skriptnamen verwenden. Ich habe gerade das gemeinsame Adjektiv entfernt, das nicht angemessen war. Trotzdem macht es die Benennung leicht, den Zweck zu erkennen und zu erkennen.
Tonin
1
Es scheint eine Möglichkeit zu geben, Cron zu verwenden, um die statische motd-Nachricht regelmäßig zu ersetzen: md3v.com/create-a-linux-server-status-motd Ich denke, dass dieses Profilskript eine bessere Möglichkeit zu sein scheint, weniger bewegliche Teile.
CMCDragonkai
4
Wenn Sie eine Ausgabe wie eine MOTD in Ihr Profil einfügen, wird sftp wahrscheinlich beschädigt.
Stuart P. Bentley
4
Sie können das motd.shSkript /etc/profile.d/mit Berechtigungen einfügen 755. Auf diese Weise müssten Sie es nicht aufrufen /etc/profile.
Itay Grudev
8

Auf Ubuntu-Servern gibt es ein Programm, das update-motdvom Paket aufgerufen wird libpam-modules:

UNIX / Linux-Systemadministratoren kommunizieren wichtige Informationen häufig an Konsolen- und Remotebenutzer, indem sie Text in der Datei / etc / motd verwalten, die vom Modul pam_motd (8) bei interaktiven Shell-Anmeldungen angezeigt wird.

In der Regel handelt es sich bei dieser Datei um statischen Text, der in der Regel von der Distribution installiert und nur bei Release-Upgrades aktualisiert oder vom lokalen Administrator mit relevanten Informationen überschrieben wird.

Ubuntu führte das update-motd-Framework ein, mit dem motd (5) beim Anmelden dynamisch aus einer Sammlung von Skripten zusammengestellt wird.

Diese Sammlung von Skripten lebt unter /etc/update-motd.d/. Weitere Informationen finden Sie auf dieser Wiki-Seite .

Eine andere Alternative zum Generieren /etc/motd, anstatt ein Skript bei der Anmeldung ausführen zu lassen, besteht darin, einen Cron-Job zu haben. Sicher ist es nicht dasselbe, aber ich habe diesen Ansatz manchmal in der Vergangenheit getroffen.

Wtower
quelle
1
Verwandte Askubuntu Beitrag . Mit erzwingen sudo run-parts /etc/update-motd.d/.
Pablo A
1
Dies minimiert auch die Verzögerung beim Anmelden beim Start, da Sie ein Skript beim Anmelden nicht bewerten müssen (vorausgesetzt, es wird komplexer als uptime).
Ayman
1

Ja, es ist möglich ... Sorta.

Schauen Sie nach, wie Sie eine dynamische MOTD erstellen . Dies ist eine abgekürzte Form dieses dokumentierten Prozesses .

ewwhite
quelle
Muss ich nur hinzufügen, session optional pam_motd.soum /etc/pam.d/logindann /etc/motdausführbar zu machen ?
Justin
4
Wir bevorzugen wirklich, dass Antworten Inhalte enthalten, die nicht auf Inhalte verweisen. Während dies theoretisch die Frage beantworten mag, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen.
User9517
Der dynamische MOTD-Link besagt im Wesentlichen, dass Sie Befehle hinzufügen können, auf die eine Nachricht gedruckt /etc/profilewird. Dies entspricht also Tonins Antwort.
Andre Holzner