Aqui está uma implementação sobre por usuário / grupo motd inspirado em motd ou banner de login por usuário
Primeiro comentário:
session optional pam_motd.so motd=/run/motd.dynamic
session optional pam_motd.so
em /etc/pam.d/login e defina PrintMotd no em /etc/ssh/sshd_config
Em seguida, você pode definir seu script de mensagem por usuário / grupo e colocá-lo na pasta, por exemplo:
sudo mkdir -p /etc/mymotd/groups
sudo mkdir -p /etc/mymotd/users
Nessas pastas, você pode criar scripts executáveis para cada grupo ou usuário que imprime na saída padrão a mensagem do dia.
Você pode criar /etc/profile.d/perUserGroupMotd.sh com as seguintes linhas:
gidName='id -gn'
if [ -e /etc/mymotd/groups/$gidName ]; then
/etc/mymotd/groups/$gidName
else
if [ -e /etc/mymotd/users/$USER ]; then
/etc/mymotd/users/$USER
fi
fi
ou você pode usar o arquivo para habilitar / desabilitar a mensagem e depois executar /path/to/script -g $gidName ou /path/to/script -u $USER , obviamente existem muitas implementações possíveis diferentes.
Sobre o pam_motd , no final, encontrei esses dois erros:
-
pam_motd executa comandos como root com ambiente não-analizado : isso é um furo de segurança e
update-motdpatch é: ambiente não definido e defina manualmente a variávelPATH. -
Múltiplos problemas com o pam_motd update-motd code : um desses vários problemas é sobre a falta bloquear no arquivo gerado por
update-motd. No sistema multiusuário, o acesso simultâneo múltiplo pode resultar em corrompido.
Por essas razões, não é possível usar pam_motd para seu objetivo.
HUSHLOGIN_FILE em /etc/login.defs deve inibir todas as conversas habituais durante a sequência de login , portanto, qualquer saída é suprimida até a última data de login.
Eu acho que o motd é projetado para alcançar todos os usuários no sistema e, por isso, ssh e pam_motd simples ativam ou desativam para todos os usuários.