Как установить динамическое сообщение дня (motd) в Debian Jessie 8.2 для ssh?

find -maxdepth 1 -type f -printf . | wc -c
  • -maxdepth 1 сделает его нерекурсивным, find будет рекурсивным по умолчанию
  • -тип f будет включать только файлы
  • -printf. - это мило. он печатает точку для каждого файла вместо имени файла, и теперь он может обрабатывать любое имя файла, а также сохраняет данные; нам просто нужно посчитать точки :)
  • | wc -c подсчитывает символы
16
30.11.2015, 17:27
2 ответа

Со временем это изменилось:

Сначала был /etc/motd (статический).

Затем в Ubuntu появился собственный пакет update-motd, основанный на скрипте, вызываемом из cron.

Наконец, PAM скопировал идею Ubuntu о /etc/update-motd.d/, и поэтому Debian и другие системы также имеют такое же поведение.

Здесь есть объяснение

https://ownyourbits.com/2017/04/05/customize-your-motd-login-message-in-debian-and-ubuntu/

Вот как сейчас все так: PAM просто прочитает /var/run/motd.dynamic и /etc/motd, если он существует (вставить из поста)

  • /etc/motd — классический статический файл. Больше не существует в Ubuntu 16.04 LTS, даже в виде символической ссылки на /var/run/motd. Однако если он создан, его содержимое также будет напечатано.
  • /var/run/motd — это использовалось в первой реализации Ubuntu. Он больше не используется. Он просто игнорируется PAM.
  • /var/run/motd.dynamic — это то, что сейчас отображается при входе в систему. Он обновляется /etc/init.d/motd при каждой загрузке. Он также обновляется с помощью PAM, запуская сценарии в /etc/update-motd.d/, если они существуют.
  • /etc/motd.tail — пакет Ubuntu, используемый для заполнения /etc/update-motd.d. Один из них будет проверять содержимое этого файла, чтобы было легко добавить статический контент. Этот скрипт больше не существует в пакете, поэтому файл не имеет ожидаемого эффекта.

Пример из поста

mkdir /etc/update-motd.d
rm -f /etc/motd                  # in Debian still exists
cat > /etc/update-motd.d/10logo <<EOF
#!/bin/sh
echo
cat /etc/issue
EOF

cat > /etc/update-motd.d/20updates <<'EOF'
#!/bin/sh
echo
echo "uptime is $( uptime )"
echo "date   is $( date   )"
EOF

chmod a+x /etc/update-motd.d/*
14
27.01.2020, 19:48

Вы также можете попробовать эти файлы для выполнения скрипта.

Для чего используется /etc/profile? Эти файлы используются для установки элементов среды для пользовательской оболочки. Элементы, такие как umask, и переменные, такие как PS1 или PATH.

Для чего используется ~/.bashrc? Этот файл предназначен для установки псевдонимов команд и функций, используемых пользователями оболочки bash.

Когда используются эти файлы? Разница проста: /etc/profileвыполняется только для интерактивных оболочек, а ~/.bashrcвыполняется как для интерактивных, так и для не -интерактивных оболочек. На самом деле в Ubuntu /etc/profileнапрямую вызывает ~/.bashrc.

(Источник:https://bencane.com/2013/09/16/understanding-a-little-more-about-etcprofile-and-etcbashrc/)

0
27.01.2021, 05:18

Теги

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