Czy mogę umieścić polecenia powłoki w /etc/motd
pliku banera logowania? Próbowałem:
$(uptime)
i
`uptime`
czy to możliwe?
/etc/motd
jest tylko odczytywany i nie wykonywany, więc technicznie rzecz biorąc, nie można w nim umieszczać poleceń powłoki.
Możliwe jest jednak wykonanie skryptu powłoki podczas logowania, który będzie miał taki sam wynik. Zwykle osiąga się to poprzez dostosowanie /etc/profile
skryptu, który jest wykonywany za każdym razem, gdy użytkownik się loguje. Przydatną praktyką jest umieszczenie polecenia, które ma zostać wykonane, w skrypcie o nazwie /etc/motd.sh
i wywołanie tego skryptu /etc/profile
, zwykle na końcu.
motd.sh
skrypt w środku/etc/profile.d/
z uprawnieniami755
. W ten sposób nie musisz dzwonić z tego/etc/profile
.Na serwerach Ubuntu znajduje się program o nazwie
update-motd
z pakietulibpam-modules
:Ta kolekcja skryptów mieszka pod
/etc/update-motd.d/
. Aby uzyskać więcej informacji, zobacz tę stronę wiki .Inną alternatywą dla generowania
/etc/motd
zamiast uruchamiania skryptu przy logowaniu jest posiadanie zadania cron. Z pewnością nie jest tak samo, ale czasami stosowałem to podejście w przeszłości. Zauważ jednak, że to podejście zostało również wykorzystane przezupdate-motd
, ale zostało porzucone z powodu napotkanego problemu. Więcej informacji na ten temat można znaleźć tutaj .źródło
sudo run-parts /etc/update-motd.d/
.uptime
).W przypadku serwerów Centos 7 sugeruję użycie mojego portu
update-motd.d
z Ubuntu.W przeciwieństwie do innych rozwiązań sprawia, że dynamiczny MOTD pokazuje się tylko raz, gdy SSH / logujesz się przez konsolę (inne rozwiązania sprawiają, że pokazuje się, gdy otwierasz nowe
screen
okna, na przykład).Zainstaluj z:
Używać z:
/etc/motd
.PrintMotd no
,Banner none
,UsePAM yes
(ewentualniePrintLastLog no
) w/etc/ssh/sshd_config
& Odświeżsshd
usługi./etc/pam.d/sshd
:session optional pam_motd.so motd=/run/motd.dynamic
./etc/update-motd.d
, jak na UbuntuNajnowsze informacje można znaleźć na stronie https://github.com/gdubicki/centos-pam-with-update-motd .
źródło