Ich möchte die Last login:
Informationen, die zusammen mit der Nachricht des Tages ausgedruckt werden , bearbeiten , kann jedoch das Skript, das generiert und ausgegeben wird, nicht finden.
Wo ist es definiert, in einem einfach zu bearbeitenden Shell-Skript oder in einer Binärdatei abgeschlossen?
Hinweis: Dies unterscheidet sich von ServerFault: Wie kann ich die Begrüßungsnachricht beim Start von ssh bearbeiten? . Die "letzten Login" -Informationen werden nicht von innen ausgedruckt /etc/update-motd.d/
, sondern werden durch Setzen des PrintLastLog
Flags definiert und können daher nicht wie die anderen Teile der Nachricht des Tages bearbeitet werden.
utmp
undwtmp
Dateien (je nach Verteilung, Check - in/var/run/utmp
oder/var/log/utmp
oder Blick in/var
Verzeichnis). Diese Dateien werden nicht als Text, sondern als Binärdateien gespeichert. Sie benötigen daher spezielle Tools, um sie zu bearbeiten. Die utmp-Datei verfolgt den aktuellen Anmeldestatus jedes Benutzers. Die wtmp-Datei zeichnet alle An- und Abmeldungen auf. Sie benötigen spezielle Werkzeuge, um sie zu bearbeiten, aber ich konnte nichts wirklich finden.Antworten:
Das Format der gedruckten Zeile sieht folgendermaßen aus
sshd
:[me@risby ~]$ ssh lory
Last login: Fri May 23 10:59:01 2014 from 2a01:2c0:e:300:7271:bcff:feac:445a
[me@lory ~]$ strings /usr/sbin/sshd | grep -i "last login"
Last login: %s
Last login: %s from %s
Ich sehe auch keine Konfigurationsoption, um das zu ändern, daher musst du die Quelle bearbeiten und neu kompilieren.
Bearbeiten : Im Grenzfall finden Sie Quelle unter http://www.openssh.org . Sie sagen uns jedoch nicht, dass Sie OpenSSH verwenden oder irgendetwas an Ihrer Plattform, sodass es schwierig ist, genauer zu sein. Wenn es sich um ein Linux-System handelt, ist es viel besser, die für Ihre Distribution geeignete Quelle auf die übliche Weise zu ermitteln und die Kompilierung über Ihre Distribution-spezifischen Mechanismen fortzusetzen.
Aber wirklich, Sie sollten dies überhaupt nicht tun, es sei denn, Sie haben einen äußerst zwingenden geschäftlichen Grund: Sie machen sich selbst einen Wartungs- Albtraum und gehen zu einer von Hand kompilierten Version eines sicherheitsrelevanten Pakets über.
quelle
sshd
zu finden?wtmp
, dasPrintLastLog
Flag auf setzenno
und den Hinweis "Letzte Anmeldung" mit meinem eigenen Skript in neu erstellenupdate-motd.d
. Viel wartungsfreundlicher. :)motd
Ausgabe nicht vollständig auf dem neuesten Stand ist. Ich denke also, dassupdate-motd
möglicherweise nicht bei jedem Login ausgeführt wird.Die letzten Anmeldeinformationen werden in gespeichert
/var/log/wtmp
oder/var/log/utmp
es handelt sich um Binärdateien. Ohne den Quellcode für sshd zu betrachten, kann ich nicht ganz sicher sein, aber ich würde erwarten, dass es die Informationen aus diesen Dateien mit geeigneten Systemaufrufen abruftEs ist unwahrscheinlich, dass Sie eine Möglichkeit finden, diese Informationen einfach zu ändern. Dies ist schließlich ein Teil der Sicherheit der Benutzer.
Wenn Sie wirklich die blutigen Details wollen, müssen Sie sich den Quellcode für die Funktion ansehen,
login_get_lastlog
die in zu finden istloginrec.c
quelle
Eine andere Lösung wäre, den Bildschirm am Anfang der motd-Datei wie folgt zu löschen:
Hinweis: Ersetzen Sie
^[
durch das Escape-Symbol (das Sie im Nano-Editor erstellen können, indem Sie die folgenden Tasten drücken: esc+ v+ esc)quelle
Vielleicht ein Problem, falls Sie nur die letzte Anmelde-IP ändern möchten?
Sie können beispielsweise die angezeigte IP-Adresse in "localhost" ändern, indem Sie sich erneut von einem ferngesteuerten Computer aus bei ssh anmelden!
Remote Login über ssh >> ssh Benutzername @ localhost
Jetzt wird die zuletzt aufgezeichnete IP localhost sein
quelle