Linux выполнение команды при логине

Содержание
  1. unixforum.org
  2. Как при входе любого пользователя запустить скрипт?
  3. Как при входе любого пользователя запустить скрипт?
  4. Re: Как при входе любого пользователя запустить скрипт?
  5. Re: Как при входе любого пользователя запустить скрипт?
  6. Re: Как при входе любого пользователя запустить скрипт?
  7. Re: Как при входе любого пользователя запустить скрипт?
  8. Re: Как при входе любого пользователя запустить скрипт?
  9. Re: Как при входе любого пользователя запустить скрипт?
  10. Re: Как при входе любого пользователя запустить скрипт?
  11. Re: Как при входе любого пользователя запустить скрипт?
  12. Справочник 70 основных команд Linux: полное описание с примерами
  13. Справочная информация / документация
  14. man
  15. whatis
  16. whereis
  17. Ubuntu. Запуск скрипта/команды при входе пользователя по SSH?
  18. Как настроить автоматическое выполнение команд/скриптов во время перезагрузки или запуска системы
  19. Выполнение скриптов Linux во время перезагрузки или запуска
  20. Метод № 1 — Использование планировщика задач cron
  21. Метод № 2 — Использование /etc/rc.d/rc.local
  22. Выполнение скриптов Linux при входе/выходе из системы
  23. Итоги
  24. Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

unixforum.org

Как при входе любого пользователя запустить скрипт?

Как при входе любого пользователя запустить скрипт?

Сообщение zshgm » 15.06.2010 17:02

Как при входе любого пользователя запустить скрипт? Тоесть польователь может зайти к примеру удаленно по ssh под пользователем user1 или локально под пользователем root. В обоих случаях нужно запускать скрипт. как?

Re: Как при входе любого пользователя запустить скрипт?

Сообщение zshgm » 15.06.2010 17:13

Как при входе любого пользователя запустить скрипт? Тоесть польователь может зайти к примеру удаленно по ssh под пользователем user1 или локально под пользователем root. В обоих случаях нужно запускать скрипт. как?

разобрался.. можно записать в /etc/profile

drBatty Сообщения: 8735 Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит. ОС: Slackware-current Контактная информация:

Re: Как при входе любого пользователя запустить скрипт?

Сообщение drBatty » 15.06.2010 17:36

юзер может зайти минуя этот файл. внимательно посмотрите man login, и man bash (если юзер входит в bash)

Re: Как при входе любого пользователя запустить скрипт?

Сообщение zshgm » 15.06.2010 18:17

юзер может зайти минуя этот файл. внимательно посмотрите man login, и man bash (если юзер входит в bash)

Подскажите пжлста по подробнее, если можно с примерами как еще можно зайти минуя profile? И как это можно будет отследить
P.S.: Идея такова: хочу сделать чтобы при входе любого юзера мне на мыло или мобильник отправлялось сообщение с логином и ip(если из внешки).. Поэтому мне нужно предугадать все способы авторизации в системе..

watashiwa_daredeska Бывший модератор Сообщения: 4038 Статус: Искусственный интеллект (pre-alpha) ОС: Debian GNU/Linux

Re: Как при входе любого пользователя запустить скрипт?

drBatty Сообщения: 8735 Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит. ОС: Slackware-current Контактная информация:

Re: Как при входе любого пользователя запустить скрипт?

Сообщение drBatty » 15.06.2010 18:30

это от системы сильно зависит. не знаю как у вас. ИМХО надёжнее проверять тех, кто в системе (можно убрать тех кто там всегда, например root’а, с его демонами). (man ps)

ну и можно посмотреть, как входит юзер, через что. вот например для sshd

Читайте также:  Linux user primary group

8. If ~/.ssh/rc exists, runs it; else if /etc/ssh/sshrc exists, runs it; otherwise runs xauth. The
“rc” files are given the X11 authentication protocol and cookie in standard input. See SSHRC,
below.

т.е., перед входом юзера по ssh запускается /etc/ssh/sshrc
(только всё это возможно дистроспецифично — лучше свои маны читать, там написано как оно у вас. например я слышал, в вашей ос вообще какой-то свой dash, а не bash)

Re: Как при входе любого пользователя запустить скрипт?

Сообщение zshgm » 15.06.2010 18:37

watashiwa_daredeska Бывший модератор Сообщения: 4038 Статус: Искусственный интеллект (pre-alpha) ОС: Debian GNU/Linux

Re: Как при входе любого пользователя запустить скрипт?

Тут даже —noprofile не нужен. bash не исполняет .profile, если он не login shell, а тут он не login. У меня даже специательный суперскрипт имеется, чтобы запускать программы сразу по ssh так, как будто я полноценно залогинился (почти):

#!/bin/sh # This script is called run-with-profile (or rwp for short) if [ -r $HOME/.profile ]; then . $HOME/.profile elif [ -r $HOME/.bash_profile ]; then . $HOME/.bash_profile fi exec "$@"

Теперь по ssh -t user@host rwp screen -DR default я попадаю сразу в свою любимую screen-сессию со всеми причиндалами 🙂

Re: Как при входе любого пользователя запустить скрипт?

Сообщение zshgm » 15.06.2010 18:56

Тут даже —noprofile не нужен. bash не исполняет .profile, если он не login shell, а тут он не login. У меня даже специательный суперскрипт имеется, чтобы запускать программы сразу по ssh так, как будто я полноценно залогинился (почти):

#!/bin/sh # This script is called run-with-profile (or rwp for short) if [ -r $HOME/.profile ]; then . $HOME/.profile elif [ -r $HOME/.bash_profile ]; then . $HOME/.bash_profile fi exec "$@"

Теперь по ssh -t user@host rwp screen -DR default я попадаю сразу в свою любимую screen-сессию со всеми причиндалами

Можно ли отловить вход пользователя не используя PAM если bash не login shell? Желательно стандартными средствами которые есть в любом дистрибутиве без предварительной настройки и установки какого-либо софта..

Источник

Справочник 70 основных команд Linux: полное описание с примерами

Справочник основных команд Linux

Одним из коренных отличий семейства ОС Linux от ОС Windows является ведущая роль командной строки или терминала в администрировании системы. Для успешной работы с «Линукс» одного графического интерфейса недостаточно. Полноценное управление тут возможно только через терминал. А в работе с терминалом никак не обойтись без изучения основных команд Linux.

В Linux насчитывается несколько сотен основных команд и их модификаций. Они группируются по нескольким категориям. По расположению — могут быть утилитами командной строки или встроенной функцией командной оболочки. По частоте применения – используемыми постоянно, эпизодически и редко. По типам действий – от получения справки до управления файлами и процессами. Именно третья, функциональная составляющая и станет основой группировки утилит в этой статье.

В обзоре собраны все важнейшие команды Linux, которые могут пригодиться для администрирования ОС Linux. Статья рассчитана как на новичков, так и на продвинутых пользователей, уже знакомых с основным функционалом терминала. Эту своеобразную шпаргалку можно смело добавлять в закладки всем, кто хочет извлечь из «Линукс» максимум полезных свойств и повысить свою продуктивность в несколько раз.

Читайте также:  Webdav командная строка linux

Справочная информация / документация

man

(Manual). Показывает инструкцию к программам и командам Linux. Чтобы получить руководство для программы, наберите:

whatis

whereis

Источник

Ubuntu. Запуск скрипта/команды при входе пользователя по SSH?

Нужно, чтобы при входе пользователя (любого) по SSH отрабатывалась команда или скрипт, возможно ли это сделать?

karabanov

В конец /etc/pam.d/sshd добавь:

session optional pam_exec.so /path/to/script.sh

PS
Из скрипта будут доступны ряд переменных, в частности $PAM_USER и $PAM_RHOST — можно их для чего нибудь использовать в скрипте.

DollyPapper

. Как путь в домашней директории будет работать для любого пользователя. Каждому пользователю системы в ~/.ssh/rc прописывать?

DollyPapper,
man ssh
/etc/ssh/sshrc
Commands in this file are executed by ssh when the user logs in,
just before the user’s shell (or command) is started. See the
sshd(8) manual page for more information.

DollyPapper

y0sh, да, но вопрос был, про любого пользователя. Т.е. нужно всем пользователям в профиле прописывать тот код который необходимо запустить при логине.

DollyPapper

Если оболочка в системе баш (мб с другими тоже будет работать, если они читают этот файл), то можно внести необходимый код в /etc/profile, этот файл читается башем при входе в систему удаленных пользователей, в частности по ssh. Это наиболее нативный способ, который будет работать везде и для всех пользователей. Если нужно для какого-то конкретного пользователя, то ~/.bash_profile — так же работает при входе с удаленного сеанса, но уже конкретного пользователя.

DollyPapper

DollyPapper,
1. sftp подсистема sshd
2. юзер может быть без шелла, или шелл не bash
3. туннель через ssh тоже башевские конфиги не затронет
4. велосипед уже изобретен до нас и описан в документации
5. мелкий нюанс. пользовательский ~/ssh/rc приоритетней системного /etc/ssh/sshrc

DollyPapper

тут это не сработает. Хотя у других шеллов может быть что-то своё, а возможно этот шелл будет читать /etc/profile.

Источник

Как настроить автоматическое выполнение команд/скриптов во время перезагрузки или запуска системы

Команды LINUX «от A до Z» — настольная книга с примерами

Как настроить автоматическое выполнение команд/скриптов во время перезагрузки или запуска системы

Сегодня поговорим о том, как настроить автоматическое выполнение команд/скриптов во время перезагрузки системы. Вы когда-то задумывались, что происходит “за кулисами”, когда вы загружаете систему Linux и входите в систему? Нажимая кнопку питания или запуская виртуальной машины, вы провоцируете ряд событий, которые приводят к активации полностью функциональной системы — иногда менее чем за минуту. То же самое происходит при выходе из системы и/или выключение системы.

Что еще интереснее, так это то, что вы можете заставить операционную систему выполнять определенные действия при её загрузке и при входе/выходе из системы.

В этой статье мы обсудим традиционные методы достижения этих целей в Linux.

Примечание. Предположим, что использование Bash в качестве основной оболочки для обработки событий входа и выхода из системы. Если вы используете другой инструмент, то некоторые из этих методов могут и не заработать.

Выполнение скриптов Linux во время перезагрузки или запуска

Существует два традиционных метода выполнения команды или запуска скриптов во время запуска:

Метод № 1 — Использование планировщика задач cron

Помимо обычного формата (минута / час / день месяца / месяц / день недели), который широко используется для указания расписания, планировщик cron также позволяет использовать @reboot. Эта директива, за которой следует абсолютный путь к скрипту, заставляющий её работать при запуске машины.

Читайте также:  Показать содержимое директории linux

Однако для этого подхода есть два важных нюанса:

  • Обязательно должен быть запущен демон cron;
  • Сценарий или файл crontab должен включать переменные среды (если они есть), которые понадобятся.

Курсы Python с нуля до DevOps на практике за 1,5 часа

Метод № 2 — Использование /etc/rc.d/rc.local

Этот метод действителен даже для системных задач. Чтобы этот метод работал, вы должны установить разрешения на выполнение для файла /etc/rc.d/rc.local следующим образом:

Затем добавьте скрипт в конце файла.

Ниже показано, как запустить скрипт (/home/yurii/script.sh) с использованием задания cron и rc.local соответственно и их соответствующих результатов.

Имейте в виду, что сценарий должен иметь разрешения на выполнение:

Курсы Git за час: руководство для начинающих DevOps / DevNet инженеров

Выполнение скриптов Linux при входе/выходе из системы

Чтобы выполнить скрипт при входе в систему или выходе из системы, используйте ~/.bash_profile и ~/.bash_logout, соответственно. Скорее всего, вам нужно будет создать последний файл вручную. Просто оставьте строку, ссылающуюся на ваш скрипт в нижней части каждого файла так же, как и раньше, и все будет работать.

Итоги

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

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University.

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.

  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.

Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Источник

Оцените статью
Adblock
detector