Автор Тема: Как вывести баннер после логина в терминале?  (Прочитано 875 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн HorekRediskovich

  • Опытный пользователь
  • ***
  • Сообщений: 192
  • Karma: +5/-1
    • Share Post
Всем привет, вобшем видел тут на 1 серваке следующее:
Спойлер
В каком файле прописывается такой баннер?  :blush2:
В /etc/issue указана версия ядра и архитектуры
В /etc/motd пусто
« Последнее редактирование: Август 01, 2016, 09:06:32 am от sysadmin »

 

Оффлайн sysadmin

  • Administrator
  • сисадми́н
  • *****
  • Сообщений: 7853
  • Karma: +105/-0
  • Пол: Мужской
    • Share Post
    • сайт для сис. админов и не только...
Re: Как вывести баннер после логина в терминале?
« Ответ #1 : Январь 11, 2016, 09:22:38 am »
Привет! Я как то писал об этом - Приветствие / Баннер для SSH в Linux
дорогу осилит идущий...
......................
MCP, MCTS, RHCSA
......................
also aka xck...

Оффлайн HorekRediskovich

  • Опытный пользователь
  • ***
  • Сообщений: 192
  • Karma: +5/-1
    • Share Post
Re: Как вывести баннер после логина в терминале?
« Ответ #2 : Январь 11, 2016, 03:24:11 pm »
Дело в том что это при локальном логине, а не по ssh  :sad:

Оффлайн sysadmin

  • Administrator
  • сисадми́н
  • *****
  • Сообщений: 7853
  • Karma: +105/-0
  • Пол: Мужской
    • Share Post
    • сайт для сис. админов и не только...
Re: Как вывести баннер после логина в терминале?
« Ответ #3 : Январь 11, 2016, 03:44:20 pm »
Всмысле? Сревис sshd перезапусти и коннектся к сервер, это сообщение называется приветсвие... Это сообщение ДО логина пользователя, ПОСЛЕ логина пользователя отредактируй файл /etc/motd

Оффлайн NiX

  • Moderator
  • сисадми́н
  • ***
  • Сообщений: 523
  • Karma: +34/-0
  • Пол: Мужской
    • Share Post
Re: Как вывести баннер после логина в терминале?
« Ответ #4 : Январь 11, 2016, 04:30:28 pm »
Есть еще /etc/issue.net который как-раз отрабатывает при удаленном коннекте через ssh :yes4:

Оффлайн around

  • Сообщество ИТ-Специалистов
  • Специалист ИТ
  • ****
  • Сообщений: 366
  • Karma: +31/-0
  • Пол: Мужской
  • Ломаем Cisco, Huawei, QTech. Быстро, качественно!
    • Share Post
    • Сайт Кругликова
Re: Как вывести баннер после логина в терминале?
« Ответ #5 : Январь 11, 2016, 05:44:18 pm »
Мне кажется, это какой-то скриптик в ~/.profile. Поскольку он и вон какие-то сообщения выводит и IP показывает.
roubles in Windows - reboot, troubles in *nix - be root.

Оффлайн HorekRediskovich

  • Опытный пользователь
  • ***
  • Сообщений: 192
  • Karma: +5/-1
    • Share Post
Re: Как вывести баннер после логина в терминале?
« Ответ #6 : Январь 12, 2016, 12:57:35 am »
Всмысле?
В том смысле что я этол вижу при физическом доступе к серверу а не удаленном подлючении по ssh, хотя и по ssh тоже самое выводится.
Судя по всему собака зарыта в /etc/profile*

З,ы. подсказали посмотреть на другом форуме.

Оффлайн around

  • Сообщество ИТ-Специалистов
  • Специалист ИТ
  • ****
  • Сообщений: 366
  • Karma: +31/-0
  • Пол: Мужской
  • Ломаем Cisco, Huawei, QTech. Быстро, качественно!
    • Share Post
    • Сайт Кругликова
Re: Как вывести баннер после логина в терминале?
« Ответ #7 : Январь 12, 2016, 02:31:38 am »
Судя по всему собака зарыта в /etc/profile*
З,ы. подсказали посмотреть на другом форуме.
Вон, я тоже самое выше написал...

Оффлайн sysadmin

  • Administrator
  • сисадми́н
  • *****
  • Сообщений: 7853
  • Karma: +105/-0
  • Пол: Мужской
    • Share Post
    • сайт для сис. админов и не только...
Re: Как вывести баннер после логина в терминале?
« Ответ #8 : Январь 12, 2016, 12:18:28 pm »
Короче пока суть да дело, запилил маленький скрипт, который выводит данные после ssh логона, по факту это systemd сервис, создаем так:
nano  /etc/systemd/system/myinfo.service
Добавляем в него строки:
[Unit]
Description=MyInfo Service
After=local-fs.target

[Service]
Type=forking
ExecStart=/bin/sh /root/boot.sh

[Install]
WantedBy=multi-user.target
Включаем автозагрузку:
systemctl enable myinfo
Пришем маленький скрипт по получению нужной инфы (в произвольном месте, в моем случае, это RHEL скрипт расположенный в /root/boot.sh):
#!/bin/bash
# Author xck http://sys-admin.kz

AUTHOR=`figlet sys-admin.kz`

# get memory size
MEM=`awk '/MemTotal/ {printf( "%.2f\n", $2 / 1024 )}' /proc/meminfo`

# infonfig info
IFCONFIG=`ifconfig | grep "inet"`

# hostname info
HOSTNAME=`hostname`

# get # of cpus
CPUS=`grep -c processor /proc/cpuinfo`

# colorize
red=`tput setaf 1`
green=`tput setaf 2`
reset=`tput sgr0`
purple="\e[38;5;198m"

# figure out how CPU count is determined
if [ `grep -c "Using ACPI (MADT)" /var/log/dmesg` == "1" ]  ; then
   CPUCNTMETHOD="(via ACPI)"
else
   CPUCNTMETHOD="(via MP table)"
fi

# grep the proc speed from /proc/cpuinfo
if [ `grep "^cpu MHz" /proc/cpuinfo | uniq | wc -l` == "1" ] ; then
        SPEED=`grep "^cpu MHz" /proc/cpuinfo | uniq | awk -F : '{ print $2}' | awk -F . '{ print $1 }'`
else
    SPEED="Speed mismatch.  Speed list in /tmp/speedlist"
        grep "^cpu MHz" /proc/cpuinfo > /tmp/speedlist
fi

# grep the proc cache from /proc/cpuinfo
if [ `grep "^cache size" /proc/cpuinfo | uniq | wc -l` == "1" ] ; then
        CACHE=`grep "^cache size" /proc/cpuinfo | uniq | awk -F : '{ print $2 }'`
else
    CACHE="Cache mismatch.  Cache List in /tmp/cachelist"
        grep ^cache /proc/cpuinfo > /tmp/cachelist
fi

# Write the /root/myinfo.txt file
ifconfig='/sbin/ifconfig'
uniq='/usr/bin/uniq'
#echo -e "\n" >/root/myinfo.txt
echo -e "\n${green}${AUTHOR}${reset}\n" > /root/myinfo.txt
echo "Computer name: " ${green}$HOSTNAME${reset} >> /root/myinfo.txt
echo `cat /etc/redhat-release` >> /root/myinfo.txt
echo ${CPUS}" CPU(s) detected "${CPUCNTMETHOD}" at Speed: ${SPEED} MHz with Cache: ${CACHE}" >>/root/myinfo.txt
echo ${MEM}"Mb of RAM" >>/root/myinfo.txt
for net in `$ifconfig | grep ^[a-z] | grep -v ^lo | awk '{ print $1}' | sed 's/.$//' | $uniq` ; do
   for (( i=0; $i<16; i=$i+1 )) ; do
      if [ `$ifconfig | grep -c $net$i` != "0" ] ; then
         $ifconfig $net$i | grep $net | awk '{ printf "%s %s %s", $1, "  MAC addr:", $5 }' >> /root/myinfo.txt
         $ifconfig $net$i | grep "inet addr" | awk '{ print "  IP " $2 }' >> /root/myinfo.txt
      fi
   done
done
#echo -e "\nIfocnfig info:\n${IFCONFIG}\n" >> /root/myinfo.txt
echo " " >>/root/myinfo.txt

# Make /root/myinfo.txt.net a duplicate of /root/myinfo.txt...
# cp -f  /etc/issue /etc/issue.net

cat /root/myinfo.txt > /etc/motd
Для "лого" шрифта ставим figlet:
yum install figlet
Ребутимся, наблюдаем (скрин в аттаче), радуемся..

Скрипт на GitHub
« Последнее редактирование: Март 15, 2016, 03:10:17 pm от sysadmin »

Оффлайн sysadmin

  • Administrator
  • сисадми́н
  • *****
  • Сообщений: 7853
  • Karma: +105/-0
  • Пол: Мужской
    • Share Post
    • сайт для сис. админов и не только...
Re: Как вывести баннер после логина в терминале?
« Ответ #9 : Январь 12, 2016, 12:33:11 pm »
Так же, если приложить немного фантазии, выводимую информацию можно значительно украсить, задать цвета и т.п. смотрим аттач...

Оффлайн around

  • Сообщество ИТ-Специалистов
  • Специалист ИТ
  • ****
  • Сообщений: 366
  • Karma: +31/-0
  • Пол: Мужской
  • Ломаем Cisco, Huawei, QTech. Быстро, качественно!
    • Share Post
    • Сайт Кругликова
Re: Как вывести баннер после логина в терминале?
« Ответ #10 : Январь 12, 2016, 12:58:08 pm »

Короче пока суть да дело, запилил маленький скрипт, который выводит данные после ssh логона, по факту это systemd сервис, создаем так:


Пришем маленький скрипт по получению нужной инфы (в произвольном месте, в моем случае, это RHEL скрипт расположенный в /root/boot.sh):
А почему просто в профайл этот скрипт не впихнуть?


root@srv1-msk:~# cat ~/.profile
# ~/.profile: executed by Bourne-compatible login shells.


if [ "$BASH" ]; then
  if [ -f ~/.bashrc ]; then
    . ~/.bashrc
  fi
fi
mesg n
~/log.sh
« Последнее редактирование: Январь 12, 2016, 01:14:14 pm от around »

Оффлайн sysadmin

  • Administrator
  • сисадми́н
  • *****
  • Сообщений: 7853
  • Karma: +105/-0
  • Пол: Мужской
    • Share Post
    • сайт для сис. админов и не только...
Re: Как вывести баннер после логина в терминале?
« Ответ #11 : Январь 12, 2016, 02:38:43 pm »
при подключении методом -
ssh server "bash --noprofile"
этот метод будет работать? Ну или к примеру если пользователь зайдет вот так:
ssh server "bash --noprofile; source ~/.other_profile"

Оффлайн HorekRediskovich

  • Опытный пользователь
  • ***
  • Сообщений: 192
  • Karma: +5/-1
    • Share Post
Re: Как вывести баннер после логина в терминале?
« Ответ #12 : Январь 12, 2016, 02:56:26 pm »
Вон, я тоже самое выше написал...
Согласен

Короче пока суть да дело, запилил маленький скрипт, который выводит данные после ssh логона
В принципе хороший подход

Оффлайн around

  • Сообщество ИТ-Специалистов
  • Специалист ИТ
  • ****
  • Сообщений: 366
  • Karma: +31/-0
  • Пол: Мужской
  • Ломаем Cisco, Huawei, QTech. Быстро, качественно!
    • Share Post
    • Сайт Кругликова
Re: Как вывести баннер после логина в терминале?
« Ответ #13 : Январь 12, 2016, 02:57:02 pm »
при подключении методом -
ssh server "bash --noprofile"
этот метод будет работать? Ну или к примеру если пользователь зайдет вот так:
ssh server "bash --noprofile; source ~/.other_profile"
Батенька, да Вы знаете толк в извращениях!!!

Оффлайн NiX

  • Moderator
  • сисадми́н
  • ***
  • Сообщений: 523
  • Karma: +34/-0
  • Пол: Мужской
    • Share Post
Re: Как вывести баннер после логина в терминале?
« Ответ #14 : Январь 12, 2016, 03:00:15 pm »
при подключении методом -
ssh server "bash --noprofile"
этот метод будет работать? Ну или к примеру если пользователь зайдет вот так:
ssh server "bash --noprofile; source ~/.other_profile"
Батенька, да Вы знаете толк в извращениях!!!

 :sarcastic: :sarcastic: :sarcastic:


xx
Mac OS в терминале нажать F10

Автор sysadmin

0 Ответов
1300 Просмотров
Последний ответ Октябрь 23, 2013, 04:06:10 pm
от sysadmin
xx
Поиск файла в терминале

Автор sysadmin

0 Ответов
1179 Просмотров
Последний ответ Декабрь 02, 2012, 08:03:00 pm
от sysadmin
thumbup
Подсветка синтаксиса в терминале Linux

Автор sysadmin

4 Ответов
1096 Просмотров
Последний ответ Июнь 19, 2014, 02:27:47 pm
от sysadmin
xx
Linux - копирование файла в терминале с прогрессом

Автор sysadmin

2 Ответов
473 Просмотров
Последний ответ Октябрь 02, 2015, 12:37:01 pm
от sysadmin