запуск скрипта при входе пользователя linux

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

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

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

запуск скрипта при входе пользователя linux

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

запуск скрипта при входе пользователя linux

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

запуск скрипта при входе пользователя linux

запуск скрипта при входе пользователя linux

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

запуск скрипта при входе пользователя linux

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

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

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

запуск скрипта при входе пользователя linux

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

запуск скрипта при входе пользователя linux

запуск скрипта при входе пользователя linux

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

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

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

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

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

запуск скрипта при входе пользователя linux

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

Источник

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

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

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

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

запуск скрипта при входе пользователя linux

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

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

запуск скрипта при входе пользователя linux

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

запуск скрипта при входе пользователя linux

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

запуск скрипта при входе пользователя linux

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

запуск скрипта при входе пользователя linux

Добавить 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

запуск скрипта при входе пользователя linux

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

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

запуск скрипта при входе пользователя linux

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

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

разобрался.. можно записать в /etc/profile запуск скрипта при входе пользователя linux

запуск скрипта при входе пользователя linux

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

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

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

запуск скрипта при входе пользователя linux

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

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

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

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

ssh user1@host bash

запуск скрипта при входе пользователя linux

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.

Источник

Выполнение скрипта при запуске или выключении linux

запуск скрипта при входе пользователя linuxЕсли на вопрос: «как добавить программу в автозагрузку?» — начинающие пользователи находят ответ достаточно быстро, то вопрос о запуске скрипта, при выключении/перезагрузки, ставит их в тупик. В статье будет описан стандартный способ для автоматического выполнения команд при включении и выключении linux, а также более простой способ для пользователей, у которых установлен gdm и графический интерфейс, например ubuntu.

Консольный вариант.

Немного теории.
Следует знать, что в Linux существует 7 уровней запуска. Однако, использоваться могут только 6.
Как у всех уважающих себя программ отсчёт начинается с 0-ля.
0 — Остановка или выключение системы.
1 — Однопользовательский режим.
2 — Многопользовательский режим, но без поддержки сети.
3 — Тоже самое, но с сетью.
4 — Добавили для красоты Не используется.
5 — Графический режим с загрузкой X сервера.
6 — Перезагрузка.
Если перейти в папку /etc (В некоторых дистрибутивах /etc/rc.d) то можно увидеть папки с 7-мью уровнями запуска.
запуск скрипта при входе пользователя linux
Например при выключении компьютера, выполнятся все скрипты из папки rc0.d
запуск скрипта при входе пользователя linux
Тут следует остановится по подробнее. Дело в том, что самих скриптов (а точнее сценариев) в этой папке нету, а есть только ссылки на файлы, которые лежат в папке /etc/init.d. Эти сценарии выполняют различные задачи, в зависимости от параметра start или stop (например /etc/init.d/reboot start и /etc/init.d/reboot stop это разные команды, а /etc/init.d/reboot вообще не будет работать). Если в ссылке стоит первая буква S, то значит сценарию подаётся параметр start, а если стоит буква K(от слова kill), то параметр stop. Цифра после буквы обозначает порядок выполнения сценария.
Например, на выше вставленном скриншоте вначале выполниться команда /etc/init.d/hddtemp stop, а уже позже /etc/init.d/networking start.
Хватит теории. Переходим к практике.
Для того, чтобы добавить команду в автозагрузку, достаточно поместить её в файл /etc/rc.local.

В этой части статьи в качестве редактора будет использоваться nano, но вы можете пользоваться своим любимым редактором, например gedit.

И помещаем наши команды чуть выше строчки с exit 0.
Для того, что бы команды выполнялись перед выключением или перезагрузкой нам нужно создать сценарий в папке /etc/init.d

Вставляем следующий код:

Если будет подаваться только один сигнал, то просто закомментируйте строку поставив в начале команды знак #
Например

Теперь делаем файл исполняемым:

Создать ссылки можно вручную, но проще это сделать через команду update-rc.d
Например:

Точки важны (обе). Исследуя просторы интернета, у меня сложилось впечатление, что синтаксис этой программы иногда меняется. Актуальные примеры можно посмотреть по команде «man update-rc.d». Примеры будут в низу.

Эта команда создаст по 2 ссылки в каталогах /etc/rc0.d (второе число в команде) и /etc/rc6.d (третье число в команде). Причём вначале будет выполняться сценарий с параметром stop (т.к. стоит 1), а уже потом с параметром start (т.к. стоит 20).
Если второй параметр не нужен, то можно выполнить команду:

Советую ставить приоритет повыше (т.е. число после start или stop должно быть маленьким), желательно меньше 20. В обратном случае у меня иногда зависал компьютер при попытке перезагрузиться.

Для пользователей ubuntu, да и многих других современных дистрибутивов с gdm можно воспользоваться…

Графический вариант.

Что касается автозагрузки то можно воспользоваться способом описанным здесь.
Или просто открыть «автоматически запускаемые приложения» командой:

Для выполнения скрипта при выключении компьютера, помещаем его в файл /etc/gdm/PostSession/Default

Источник

unixforum.org

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

Решено: Запуск скрипта при старте (как это сделать)

Решено: Запуск скрипта при старте

Сообщение SeDM » 10.02.2008 16:54

У меня есть скрипт (вернее два) для запуска IPIP туннеля, вот первый:

Их наверно можно объединить в один скрипт но у меня не получилось
Подскажите куда их положить или где что прописать чтобы эти скрипты сами запускались при загрузке системы
И еще. Внутри второго скрипта есть команды которые может выполнить только рут (ifconfig например) дак как сделать чтоб такой скрипт запускался при входе простого юзера.
Или все это можно запустить еще до входа любого пользователя? Чет я совсем запутался запуск скрипта при входе пользователя linux

Re: Решено: Запуск скрипта при старте

Сообщение IMB » 10.02.2008 18:49

запуск скрипта при входе пользователя linux

Re: Решено: Запуск скрипта при старте

Сообщение JackYF » 10.02.2008 22:09

угу. Пропиши вызов скриптов в /etc/rc.local.

Re: Решено: Запуск скрипта при старте

Сообщение SeDM » 10.02.2008 23:37

status 00 | signal 8686 | snr 2323 | ber 00000000 | unc 00000000 |
status 1f | signal 8c8c | snr e1e1 | ber 00000000 | unc 00000006 | FE_HAS_LOCK
status 1f | signal 8c8c | snr e1e1 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal 8d8d | snr e2e2 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal 8c8c | snr e2e2 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal 8c8c | snr e1e1 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal 8c8c | snr e2e2 | ber 00000000 | unc 00000000 | FE_HAS_LOCK

он своей работой не дает дальше продолжаться процессу загрузки мне не залогиниться даже, нажимал Ctrl+C никакой реакции все идут эти строки
только перезагрузка по Ctrl+Alt+Del
Как с этим бороться не представляю. Может можно сделать автозапуск этого скрипта после входа пользователя. Но как?

Источник

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

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