Führen Sie ein Skript in /etc/motd aus

Führen Sie ein Skript in /etc/motd aus

Ich möchte ein Python-Skript ausführen, wenn sich Leute beim Server anmelden. Ich dachte, das Bearbeiten von /etc/motd wäre der beste Ansatz, aber da es sich nur um eine lesbare Datei handelt, funktioniert das nicht.

Ich habe einen ziemlich identischen Beitrag gefunden:Ist es möglich, Befehle in /etc/motd einzufügen?

Was wäre hier die beste Lösung? Ich möchte ein Skript ausführen, das die Übersicht des Servers anzeigt, sodass die Benutzer den Status sofort sehen.

Dies wurde vorgeschlagenA useful practice is to put the command you want to be executed in a script named /etc/motd.sh and call this script from /etc/profile, usually at about the end of it.

aber erhielt diesen KommentarPutting output like a MOTD in your profile is likely to break sftp.

Jede Lösung ist geeignet. Vielen Dank im Voraus

Antwort1

Eigentlich ist es besser, für diese Option /etc/profile.d zu verwenden. Und dort das Quellskript. Es würde bei jeder Anmeldung eine Ausgabe anzeigen.

Zum zweiten Problem und zum Abbrechen von SFTP habe ich ein bisschen gegoogelt.

Sie können verwenden:

Subsystem sftp /usr/lib/openssh/sftp-server

in Ihrer /etc/ssh/sshd_config.

Oder fügen Sie hinzu

if [ "$SSH_TTY" ]
then
   source .bashc_real
fi

zu Ihrem Skript, das eine motd-ähnliche Nachricht druckt. Ich bekomme diese Antwort von (Verwenden Sie .bashrc, ohne SFTP zu unterbrechen).

Antwort2

In Ubuntu/Debian, PAM-Modulpam_motdunterstützt diese dynamische motd-Funktionalität und stört angeblich nicht SFTP. Leider ist es nicht gut dokumentiert. Sie können stattdessen konsultierenupdate-motd – Manpagein Ubuntu.

Auf den Ubuntu-Systemen sind bereits mehrere Skripte vorhanden /etc/update-motd.d/. Dabei handelt es sich um Live-Beispiele, mit denen Sie selbst beginnen können.

Überlegen Sie sorgfältig, ob Sie bei jedem Login mit dynamischem motd bestimmte Ressourcen verbrauchen. Lesen SieEmpfohlene VorgehensweiseAbschnitt in der Manpage „update-motd“.

verwandte Informationen