No te estás perdiendo nada obvio. Busqué en la fuente del pam_motd
módulo para resolver esto.
El truco es que pam_motd
hace lo siguiente con /etc/motd
:
- Compruebe el tamaño del archivo.
- Asigne un búfer de ese tamaño.
- Lea el archivo completo en el búfer.
- Envíe el búfer a través de cualquier método de salida que esté en uso. (PAM es modular, después de todo; no se puede asumir que es una terminal).
Dado que una canalización no tiene un tamaño de archivo, esto falla en el paso 1.
EDITAR :¿Por qué a PAM le preocupa el tamaño en primer lugar? Me imagino que es para evitar denegaciones de servicio, ya sea intencional o no intencional. Cuando PAM verifica el tamaño del archivo, también se niega a generar el motd si el archivo tiene más de 64 kbytes. Me imagino que quienquiera que haya intentado iniciar sesión en el sistema estaría muy triste si alguien lograra canalizar un archivo de película en DVD a /etc/motd, por ejemplo, sin mencionar la cantidad de memoria que podría ocupar.
Este enlace lo guiará a través de todos los pasos esenciales