Ich hätte gerne ein dynamisches Motiv, aber ich kann nicht herausfinden, wie das geht.
Ich habe versucht , was ich gefunden habe, und fügte hinzu /etc/update-motd.d/00-header
, 10-sysinfo
, 90-footer
, und SymLink auf /etc/motd
/var/run/motd.dynamic
, /run/motd.dynamic
, /run/motd
oder /var/run/motd
.
Ich habe diese Zeilen in /etc/pam.d/sshd
:
# Print the message of the day upon successful login.
# This includes a dynamically generated part from /run/motd.dynamic
# and a static (admin-editable) part from /etc/motd.
session optional pam_motd.so motd=/run/motd.dynamic
session optional pam_motd.so noupdate
Ich bin auch mit systemd verwechselt.
Gibt es eine Möglichkeit, dies zu tun? Könnte jemand ein Beispiel mit einem einfachen Vermögen geben?
pam_motd.so noupdate
das Problem?Antworten:
Ich bin in der Lage, einfaches Dynamic-Motd mit Glücksbeispiel auf meinem Debian Jessie 8.2-Host wie folgt zu testen und habe festgestellt, dass das Problem mit einem fehlerhaften Verhalten zusammenhängt.
Erstellt zwei Testdateien wie folgt und macht sie ausführbar
Zu diesem Zeitpunkt gab es jedoch keine Änderung des Motivs. Also habe ich den sshd-Prozess gestartet. Aus diesem Trace (interessante Teile siehe unten) können Sie ersehen, dass die neu erstellte Datei motd.new in / var / run / motd umbenannt wurde. Es wird jedoch später versucht, aus /run/motd.dynamic zu lesen - was nie erstellt wurde
Das Problem scheint auf Inkonsistenzen mit dem Modul pam_motd zurückzuführen zu sein. Siehe Fehlerbericht https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=743286;msg=2
Einfach motd Datei Standortwechsel von
/run/motd.dynamic
zu/run/motd
in/etc/pam.d/sshd
- macht es für mich arbeitenHier ist das MOTD-Beispiel, das beim SSH-Login angezeigt wurde ...
quelle
.new
am Ende hinzufügen in/etc/pam.d/sshd
:session optional pam_motd.so motd=/run/motd.new
und verlinkensudo ln ds /run/motd /etc/motd
. Und ich habe es vergessen,export LANG="eo"
um das Vermögen zu sehen./run/etc/motd.dynamic.new
Dies hat sich im Laufe der Jahre geändert:
Zuerst war da
/etc/motd
(statisch).Dann hat Ubuntu ein eigenes Paket entwickelt,
update-motd
das auf einem Skript basiert, das von cron aufgerufen wurde.Schließlich kopierte PAM Ubuntus Idee von /etc/update-motd.d/, und daher haben Debian und andere auch dieses Verhalten.
Hier gibt es eine Erklärung
https://ownyourbits.com/2017/04/05/customize-your-motd-login-message-in-debian-and-ubuntu/
So sieht es aktuell aus: PAM liest nur
/var/run/motd.dynamic
und/etc/motd
ob es existiert (Einfügen aus dem Beitrag)/etc/motd
- Die klassische, statische Datei. Gibt es in Ubuntu 16.04 LTS nicht mehr, auch nicht als symbolische Verknüpfung zu / var / run / motd. Wenn es erstellt wird, wird jedoch auch sein Inhalt gedruckt./var/run/motd
- Dies wurde von Ubuntus erster Implementierung verwendet. Es wird nicht mehr verwendet. Es wird von PAM einfach ignoriert./var/run/motd.dynamic
- Dies wird aktuell beim Login angezeigt. Es wird bei jedem Start von /etc/init.d/motd aktualisiert. Es wird auch von PAM aktualisiert, indem die Skripte in /etc/update-motd.d/ ausgeführt werden, sofern sie vorhanden sind./etc/motd.tail
- Das Ubuntu-Paket, mit dem /etc/update-motd.d gefüllt wird. Einer von ihnen hat den Inhalt dieser Datei kategorisiert, sodass statische Inhalte einfach hinzugefügt werden konnten. Dieses Skript ist nicht mehr im Paket enthalten, daher hat die Datei nicht den beabsichtigten Effekt.Das Beispiel aus der Post
quelle