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-motd
patch é: 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.