Меню Рубрики

Linux скрипт при логине

Запуск скрипта при входе в систему

Доброго дня! Есть несколько команд в скрипте /opt/scripts/rm.sh

Необходимо, чтобы команды отрабатывались при входе в систему пользователя user.

Т.е. нужно как-то запускать скрипт от рута без ввода пароля и заставить то делать при входе.

Добавь в файл /etc/pam.d/login (или какой там тебе надо модуль) строку:

Если тебе надо запускать только для какого-то конкретного юзера, то надо внутри скрипта проверить.

Ништяк скрипт, кстати. Сам писал или тебе дал кто-то?

Ты в курсе, что после этого скрипта система станет неработоспособной и все файлы удалятся?

И при каком логине? Через GUI или по ssh?

Добавить pam_exec в /etc/pam.d/common-session или /etc/pam.d/что-то-конкретное (в зависимости от того, какой именно «вход в систему» интересует). Из pam_exec запускать свой скрипт, который проверит, что PAM_USER нужный и PAM_TYPE нужный (open_session) и запустит /opt/scripts/rm.sh. Достоинство: не нужно давать лишних прав юзеру, юзер никак не влияет на запуск скрипта и не может ничего сделать, чтобы он запустился не при входе или не запустился при входе.

Ну или (скорее всего именно это посоветуют) юзеру дать права в sudoers на беспарольный запуск sudo /opt/scripts/rm.sh, и как-нибудь воткнуть этот запуск в юзерскую сессию (.bash_profile или там /etc/X11/Xsession.d/).

зловредный скрипт, система то какая? в gentoo с openrc можно так: создаёшь например файлик rmrf.start с твоим содержимым в директории /etc/local.d, делаешь исполняемым, скрипт local уже присутствует в /etc/init.d

Сам, но писал долго. Код не из простых, сами понимаете. 🙂

Именно это и является задачей. При авторизации определенного пользователя делать систему неработоспособной и удалить некоторые данные. Гуя в системе нет, поэтому ssh.

Источник

unixforum.org

Форум для пользователей UNIX-подобных систем

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

Модератор: Bizdelnick

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

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

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

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

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

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

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

Скоро придёт
Осень

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

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

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

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

ssh user1@host bash

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

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

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

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

/.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)

Источник

Пользователь не админ. Автозапуск скрипта sh при входе в систему.

Пользователь не админ. Есть скрипт test.sh.

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

Каким DE он пользуется?

Ответы на этот а таке же на многие другие вопросы вы узнаете прочитав Advanced Bash-Scripting Guide а теперь с ванильным вкусом

Re: Пользователь не админ. Автозапуск скрипта sh при входе в систему.

Re: Пользователь не админ. Автозапуск скрипта sh при входе в систему.

а теперь с ванильным вкусом

Там только старая версия 2.5. Лучше читать актуальную на английском.

> А какая разница?
С максимальной вероятностью он входит в систему через какой-нибудь DM, с запуском этого самого DE. Исполняет ли этот DM/DE .bash_login или .bashrc при входе в систему? Может быть, лучше будет организовать автозапуск средствами этого DE?

что такое DE. Gnome,Xfree,KDE .

Ну так подскажите способом, который бы работал без DE. Это было бы универсально )

> Gnome,Xfree,KDE .
Gnome, KDE, XFCE, LXDE. Ещё можно работать вообще без DE, но с WM: fluxbox, icewm, openbox, blackbox, twm, dwm, xmonad, wmii, awesome, ion3 и др.

Можно попробовать автозапуск через .xinitrc.

> способом, который бы работал без DE.

Сильно зависит от постановки задачи.

Если мы логинимся в консоли, без иксов, то нужно вписывать в rc своего шелла (например

/.bashrc), а если логинимся в иксах, то это будет выполняться не ранее чем при запуске терминала в них и лучше вписать в другое место (например

>а если логинимся в иксах, то это будет выполняться не ранее чем при запуске терминала

Это если не читать скрипты. Прошлый раз я там видел «#!bash -l», который известно что делает. Т.ч. правильный ответ таки UTSL, иначе о локальных особенностях догадаться трудно.

Запихать в /etc/profile что-то вида
[ $USER = theuser ] && /path/to/test.sh

Если login shell не борновский, читайте документацию по нему

Источник

Запуск BAT скрипта при логине на сервер один раз

Настроим автозапуск BAT скрипта при логине юзера на сервер. Сделаем так, чтобы скрипт запускался только один раз, а при последующих входах запускаться не будет.

Пишем BAT скрипт

У меня BAT файл называется install_sbis.bat.

Скрипт создаёт файлик flag.txt в папке пользователя с датой и временем запуска. При повторном логине скрипт увидит этот файл и не выполнит повторно ваш код.

Автозапуск скрипта при логине пользователя

Скрипт install_sbis.bat копируем в папку C:\Windows\System32\GroupPolicy\User\Scripts\Logon.

Открываем редактор локальных политик на сервере.

Local Computer Policy > User Configuration > Windows Settings > Scripts (Logon/Logoff)

Редактируем параметр Logon.

Кнопка Show Files открывает папку со скриптами групповых политик, в нашем случае C:\Windows\System32\GroupPolicy\User\Scripts\Logon.

В Script Name указываем ссылку на наш скрипт C:\Windows\System32\GroupPolicy\User\Scripts\Logon\install_sbis.bat. ОК. Сохраняем изменения.

В локальных политиках находим параметр Local Computer Policy > Computer Configuration > Administrative Templates > System > Group Policy > Configure Logon Script Delay

Редактируем, Enabled, указываем 0 минут.

Этот параметр есть не во всех операционных системах, он по умолчанию откладывает запуск скриптов при логине на 5 минут, это для нас неприемлемо.

Обновляем политики из командной строки от администратора:

Теперь скрипт запустится при логине пользователя на сервер.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Как сбросить пароль mac os sierra
  • Как сбросить настройки wifi mac os
  • Как сбросить на заводские настройки mac os
  • Как сбросить до заводских настроек mac os
  • Как сбросить mac os пароль администратора