Du übersiehst nichts Offensichtliches. Ich habe in der Quelle von pam_motd
gegraben Modul, um dies herauszufinden.
Der Trick ist, dass pam_motd
macht folgendes mit /etc/motd
:
- Überprüfen Sie die Größe der Datei.
- Ordnen Sie einen Puffer dieser Größe zu.
- Die gesamte Datei in den Puffer einlesen.
- Gib den Puffer über die verwendete Ausgabemethode aus. (PAM ist schließlich modular; kann nicht davon ausgehen, dass es ein Terminal ist.)
Da eine Pipe keine Dateigröße hat, schlägt dies bei Schritt 1 fehl.
BEARBEITEN :Warum macht sich PAM überhaupt Sorgen um die Größe? Ich stelle mir vor, es soll Denials of Service verhindern, entweder absichtlich oder unbeabsichtigt. Wenn PAM die Dateigröße überprüft, verweigert es auch die Ausgabe des motd, wenn die Datei größer als 64 kByte ist. Ich stelle mir vor, dass jeder, der versucht, sich in das System einzuloggen, sehr traurig wäre, wenn es jemandem beispielsweise gelingen würde, eine DVD-Filmdatei in /etc/motd zu leiten – ganz zu schweigen davon, wie viel Speicherplatz das beanspruchen könnte.
Dieser Link führt Sie durch alle wesentlichen Schritte