Каковы различные способы, которыми сообщение может быть отображено к оболочке удара после того, как пользователь входит в систему?

Если это - что-то, что должно произойти при регулярно запланированном использовании интервалов cron(например, необходимо проверить веб-сайт один раз в час, или один раз в день, или более или менее часто, чем это, но все еще произвольно определенный).

Однако... Можно хотеть выполнить команду в cerain более позднее время, а не прямо сейчас, для этого Вы хотите использовать at демон, который позволяет Вам выполнять команду однажды в более позднюю дату/время (как он - 5 часов и Вы хотите пойти домой, но у Вас есть 4-часовой процесс, который был бы лучше всего выполнен в середине ночи, и она не повторяется).

Я скажу nohup, screen , tmux были упомянуты, использовать nohup если Вы хотите выполнить его прямо сейчас, но не хотите снова соединяться с той сессией для проверения его позже. screen/tmux для того, чтобы проверить его позже.

13
23.02.2012, 00:32
4 ответа

Традиционный системный дисплей Unix /etc/motd после того, как пользователь успешно аутентифицируется и прежде чем оболочка пользователя будет вызвана. В современных системах это сделано pam_motd Модуль PAM, который может быть настроен в /etc/pam.conf или /etc/pam.d/* отобразить другой файл.

Сам ssh сервер может быть настроен для печати /etc/motd если PrintMotd опция не выключена в /etc/sshd_config. Это может также распечатать время предыдущего входа в систему если PrintLastLog не выключен.

Другое традиционное сообщение могло бы сказать Вам ли это You have new mail или You have mail. В системах с PAM это сделано pam_mail модуль. Некоторые оболочки могли бы распечатать сообщение о доступной почте.

После того, как оболочка пользователя запускается, файлы запуска пользователя могут распечатать дополнительные сообщения. Для интерактивного входа в систему, если оболочка входа в систему пользователя является оболочкой стиля Границы, заглядывают /etc/profile, ~/.profile, плюс ~/.bash_profile и ~/.bash_login для удара. Для интерактивного входа в систему zsh заглянуть /etc/zprofile, /etc/zlogin, /etc/zshrc, ~/.zprofile, ~/.zlogin и ~/.zshrc. Для интерактивного входа в систему csh заглянуть /etc/csh.login и ~/.login.

Если оболочка входа в систему пользователя является ударом, и это - неинтерактивный вход в систему, то колотите, выполняется ~/.bashrc (который действительно нечетен с тех пор ~/.bashrc выполняется для интерактивных оболочек, только если оболочка не является оболочкой входа в систему). Это может быть источником для проблемы; я рекомендую включая следующий отрывок наверху ~/.bashrc чтобы прыгнуть с парашютом, если оболочка не является интерактивной:

if [[ $- != *i* ]]; then return; fi
21
27.01.2020, 19:52
  • 1
    Это была серия echos в моем .bash_profile.> _ <Этот вопрос является посторонним для оригинала, но: не отзывающиеся эхом вещи в .bash_profile походят на плохой способ отправить сообщение? Возможно, лучше, если Вы только хотите отправить сообщения отдельному пользователю. Это - в конце концов, корневая учетная запись. С другой стороны я - новичок, таким образом, я не имею возможности судить вещи слишком критически. –  Wesley 23.02.2012, 04:50
  • 2
    @WesleyDavid, Повторяющий что-то в .bash_profile только отправляет сообщение себе. Некоторым людям нравится видеть полезные или забавные сообщения, когда они входят в систему. Я не могу говорить за корневую учетную запись Вашей системы, так как я не знаю ни содержания сообщения, ни людей и включенной установки. –  Gilles 'SO- stop being evil' 23.02.2012, 15:36
  • 3
    Помещение сообщения в/etc/motd работало над Mac OS X, который является всем, в чем я нуждался. Спасибо за это. –  dgig 08.03.2016, 18:29

Существуют некоторые:

/etc/motd
/etc/issue
/etc/profile - Could echo the message
/etc/profile.d/* - Would be called from /etc/profile

Дополнительно

/etc/bash_bashrc
/etc/.bashrc
/etc/bashrc
$HOME/.profile
$HOME/.bashrc

Вам, вероятно, также придется пройти каждую программу, которую называют из тех сценариев потому что что-то как fortune мог хранить тонкие замечания, в которых это отображается /usr/share. Для изоляции его, можно сделать:

. /etc/profile
. /etc/bash.bashrc
. $HOME/.profile
. $HOME/.bashrc

На Ubuntu существует также файл:

/etc/motd.tail
8
27.01.2020, 19:52
  • 1
    /etc/issue традиционно показан, прежде чем пользователь входит в систему, не после. –  Chris Down 23.02.2012, 01:06
  • 2
    Спасибо! не знал о profile и profile.d. Увы, все четыре из Ваших предложений ничего не подняли. Я задаюсь вопросом, компилируется ли что-то пользовательское в двоичный файл удара...? –  Wesley 23.02.2012, 01:17
  • 3
    @ChrisDown, но я не знаю ни о какой системе, которая поместила бы что-либо на экран после того, как подсказка отображена. –  Karlson 23.02.2012, 04:36
  • 4
    @WesleyDavid я исправил ответ. –  Karlson 23.02.2012, 04:39
  • 5
    Большое спасибо за всю информацию! Это дало мне очень в способе изучить различные способы, которыми оболочки могут отправить информацию в сессии TTY. =) –  Wesley 23.02.2012, 04:51

Более новые системы хранят компоненты MOTD в /etc/update-motd.d так, чтобы различные макросы могли быть выполнены для настройки motd, чтобы иметь информацию об обновлении, системные предупреждения, и т.д. покажите на входе в систему.

Добавьте свою настройку как другой файл с приоритетом от 00 кому: 99

99-footer обычно загрузки /etc/motd.tail если прикрепление его на конец достаточно, и Вы не хотите использовать любой из макро-объектов.

3
27.01.2020, 19:52

Вы могли заглянуть /etc/shell, это - то, где я нашел сообщение, я пытался измениться. Это не работает, чтобы прокомментировать с "#", просто необходимо удалить любой текст и добавить собственное. Также пробелы и новые строки появятся, поскольку Вы размещаете их в файл.

1
27.01.2020, 19:52

Теги

Похожие вопросы