Eu gostaria de ter um motivo dinâmico, mas não consigo descobrir como fazê-lo.
Eu tentei o que eu encontrei, acrescentando /etc/update-motd.d/00-header
, 10-sysinfo
, 90-footer
, e criar um link simbólico para /etc/motd
/var/run/motd.dynamic
, /run/motd.dynamic
, /run/motd
ou /var/run/motd
.
Eu tenho essas linhas em /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
Também estou confuso com o systemd.
Existe uma maneira de fazer isso? Alguém poderia dar um exemplo com uma simples fortuna?
pam_motd.so noupdate
seria o problema lá?Respostas:
Eu sou capaz de testar um dinâmico-motd simples com um exemplo de fortuna no meu host Debian Jessie 8.2 como abaixo e achei que o problema estava relacionado a um comportamento de buggy.
Criou dois arquivos de teste como abaixo e os tornou executáveis
No entanto, neste momento, não houve alteração no motd. A partir do rastreio (partes interessantes mostradas abaixo), você pode ver que o arquivo motd.new recém-criado é renomeado para / var / run / motd. No entanto, mais tarde, está tentando ler em /run/motd.dynamic - que nunca foi criado
O problema parece estar relacionado a inconsistências com o módulo pam_motd. Veja o relatório de bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=743286;msg=2
Simplesmente alterar o local do arquivo motd de
/run/motd.dynamic
para/run/motd
dentro/etc/pam.d/sshd
- faz funcionar para mimAqui está o exemplo MOTD visto durante o login ssh ...
fonte
.new
no final em/etc/pam.d/sshd
:session optional pam_motd.so motd=/run/motd.new
e linksudo ln ds /run/motd /etc/motd
. E eu esqueciexport LANG="eo"
para ver a fortuna./run/etc/motd.dynamic.new
Isso mudou ao longo dos anos:
Primeiro houve
/etc/motd
(estático).Então o Ubuntu criou seu próprio pacote com
update-motd
base em um script chamado cron.Finalmente, o PAM copiou a idéia do Ubuntu de /etc/update-motd.d/ e, portanto, o Debian e outros também têm esse comportamento.
Há uma explicação aqui
https://ownyourbits.com/2017/04/05/customize-your-motd-login-message-in-debian-and-ubuntu/
Portanto, é assim que as coisas estão atualmente: o PAM apenas lerá
/var/run/motd.dynamic
e,/etc/motd
se existir (cole na postagem)/etc/motd
- O arquivo estático clássico. Não existe mais no Ubuntu 16.04 LTS, nem mesmo como um link simbólico para / var / run / motd. Se for criado, seu conteúdo também será impresso./var/run/motd
- Isso foi usado pela primeira implementação do Ubuntu. Não é mais usado. É apenas ignorado pelo PAM./var/run/motd.dynamic
- É o que é mostrado no login atualmente. É atualizado por /etc/init.d/motd a cada inicialização. Também é atualizado pelo PAM executando os scripts em /etc/update-motd.d/, se eles existirem./etc/motd.tail
- O pacote Ubuntu usado para preencher o /etc/update-motd.d. Um deles classificaria o conteúdo desse arquivo, facilitando a adição de conteúdo estático. Esse script não existe mais no pacote, portanto, o arquivo não tem o efeito pretendido.O exemplo da postagem
fonte