Могу ли я поместить команды оболочки в /etc/motd
файл баннера входа в систему? Я пытался:
$(uptime)
и
`uptime`
Это возможно?
/etc/motd
только читается и не выполняется, поэтому с технической точки зрения вы не можете помещать туда команды оболочки.
Однако во время входа в систему можно выполнить сценарий оболочки, который даст тот же результат. Обычно это достигается за счет адаптации /etc/profile
сценарий, который выполняется каждый раз, когда пользователь входит в систему. Полезно поместить команду, которую вы хотите выполнить, в сценарий с именем /etc/motd.sh
и вызовите этот скрипт из /etc/profile
, обычно примерно в конце.
В Ubuntu серверов есть программа под названием update-motd
из пакета libpam-modules
:
Системные администраторы UNIX / Linux часто передают важную информацию консольным и удаленным пользователям, сохраняя текст в файле / etc / motd, который отображается модулем pam_motd (8) при входе в интерактивную оболочку.
Обычно это статический текстовый файл, который обычно устанавливается дистрибутивом и обновляется только при обновлении выпуска или перезаписывается локальным администратором с соответствующей информацией.
Ubuntu представила фреймворк update-motd, с помощью которого motd (5) динамически собирается из набора скриптов при входе в систему.
Эта коллекция скриптов живет под /etc/update-motd.d/
. Для получения дополнительной информации см. Это страница вики.
Еще одна альтернатива генерации /etc/motd
, вместо запуска сценария при входе в систему необходимо выполнить задание cron. Конечно, это не то же самое, но я иногда встречал такой подход в прошлом. Однако обратите внимание, что этот подход также использовался update-motd
, но от него отказались из-за возникшей проблемы. Вы можете найти немного больше информации об этом Вот.
Для Centos 7 серверов я предлагаю использовать свой порт update-motd.d
из Ubuntu.
В отличие от других решений, он заставляет динамический MOTD показывать только один раз, когда вы SSH / входите в систему через консоль (в других решениях он отображается, когда вы открываете новый screen
окна, например).
Установите его с помощью:
yum install https://github.com/gdubicki/centos-pam-with-update-motd/releases/download/1.1.8-1022.3/pam-1.1.8-1022.el7.x86_64.rpm
Использовать с:
/etc/motd
.PrintMotd no
, Banner none
, UsePAM yes
(и необязательно PrintLastLog no
) в твоем /etc/ssh/sshd_config
& перезагрузить sshd
служба./etc/pam.d/sshd
: session optional pam_motd.so motd=/run/motd.dynamic
./etc/update-motd.d
, как на UbuntuПосмотри пожалуйста https://github.com/gdubicki/centos-pam-with-update-motd для получения самой последней информации.