Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Автозапуск скрипта от имени su  (Прочитано 989 раз)

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

Оффлайн vidner

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Автозапуск скрипта от имени su
« : 28 Декабрь 2017, 08:15:06 »
Добрый день!
Нужно такой скрипт периодически запускать от имени su (openvpn внутри организации) без ввода пароля.Кронтаб настроен. Прошу помощи:
#!/bin/sh
xterm
sudo sevice openvpn restart
sudo openvpn --config /etc/openvpn/client.conf
disown -h %1
bg 1
exit
Суть проблемы: openvpn при закрытии терминала вылетает, при открытом терминале с периодичностью где-то 2 часа вылезает сбой, не позволяющий соединяться по ip телефонии (соединение прерывается через 2-3 сек, помогает только перезапуск сервиса и выполнение команды заного). Система - zentyal 2016 (на Ubuntu 16.04). В Linux работать только учусь)
« Последнее редактирование: 28 Декабрь 2017, 08:19:10 от vidner »

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 2141
    • Просмотр профиля
Re: Автозапуск скрипта от имени su
« Ответ #1 : 28 Декабрь 2017, 09:35:12 »
Так тут же надо запускать скрипт по факту сбоя. Если это трудно уловить,
то ведь cron будет запускать скрипт из /etc/cron.hourly не чаще одного раза в час.
Скрипт должен принадлежать root. Если факт сбоя трудно уловить, то поместить скрипт
в /etc/cron.daily и пусть в нём бесконечно, раз в минуту, запускается проверка.
Или вообще без cron, пусть этот скрипт запускается из /etc/rc.local.
Или создать службу с этим скриптом и поместить её в /etc/init.d, там есть образец - skeleton,
а запуск настроить с помощью update-rc.d, это ещё работает.
Или написать на C программу-демон, делающую то же самое, и запускать её при старте системы.
Скрипт или программа должны проверять, запущена ли openvpn и перезапускать её, если нет.
Программа должна принадлежать root и быт suid'ной.
Пётр.

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2084
  • Lubuntu 16.04 LTS
    • Просмотр профиля
Re: Автозапуск скрипта от имени su
« Ответ #2 : 28 Декабрь 2017, 11:10:18 »
vidner, я не понял, с какой периодичностью нужно запускать скрипт?

Кронтаб настроен.

Если периодичность запуска настроена через crontab, тогда отредактируй скрипт и убери sudo из него.
Помести его, например в /root/.local/bin, а в строке crontab укажи пользователя, от которого запускать.

Вот пример, если нужно запускать каждые 5 минут:

/etc/crontab

*/5 * * * * root /root/.local/bin/myscript
(Нажмите, чтобы показать/скрыть)

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27425
    • Просмотр профиля
Re: Автозапуск скрипта от имени su
« Ответ #3 : 28 Декабрь 2017, 17:37:46 »
Добрый день!
Нужно такой скрипт периодически запускать от имени su (openvpn внутри организации) без ввода пароля.Кронтаб настроен. Прошу помощи:
#!/bin/sh
xterm
sudo sevice openvpn restart
sudo openvpn --config /etc/openvpn/client.conf
disown -h %1
bg 1
exit
Суть проблемы: openvpn при закрытии терминала вылетает, при открытом терминале с периодичностью где-то 2 часа вылезает сбой, не позволяющий соединяться по ip телефонии (соединение прерывается через 2-3 сек, помогает только перезапуск сервиса и выполнение команды заного). Система - zentyal 2016 (на Ubuntu 16.04). В Linux работать только учусь)
У вас http://xyproblem.info/ , милейший.
Не надо ничего "перезапускать", надо один раз нормально настроить сеть.
Сеть настраивается (сюрприз!) в настройках сети.
А не в кронтабе.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн zg_nico

  • Заслуженный пользователь
  • Модератор форума
  • Старожил
  • *
  • Сообщений: 3511
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: Автозапуск скрипта от имени su
« Ответ #4 : 28 Декабрь 2017, 18:30:00 »
Нужно скрипт периодически запускать от имени su
Здесь как-то уже советовали ранее, и если на безопасность (в плане того, что пароль будет храниться непонятно где и в открытом виде) все равно, то:
echo пароль | sudo -S -u root "/полный/путь/к/файлу/скрипта/файл_скрипта.sh"а уж с периодичностью - ничего не подскажу.
А так, согласен с AnrDaemon: проблему надо решать, а не "костылить"...
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 2141
    • Просмотр профиля
Re: Автозапуск скрипта от имени su
« Ответ #5 : 28 Декабрь 2017, 20:55:32 »
Периодически запускать - это лишние действия, каждый раз назначение нового PID, это тоже создаёт неудобства.
Лучше пусть скрипт запускается навсегда с бесконечным циклом, а ещё лучше демон.
Пётр.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27425
    • Просмотр профиля
Re: Автозапуск скрипта от имени su
« Ответ #6 : 29 Декабрь 2017, 00:41:09 »
Peter_I, мне вот интересно, вы весь первый пост прочли, или только заголовок?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13750
    • Просмотр профиля
Re: Автозапуск скрипта от имени su
« Ответ #7 : 29 Декабрь 2017, 06:48:49 »
sudo sevice openvpn restart
sudo openvpn --config /etc/openvpn/client.conf
да уж... связка команд в скрипте знатная...
vidner, Вы не думали, что двойной запуск приложения с одним и тем же конфигом может стать причиной его неадекватного поведения?

Сеть настраивается (сюрприз!) в настройках сети.
Уважаемый, расскажите мне, а заодно и страждущим, как это сделать в случае OpenVPN. Я умею с ним это делать только в настройках приложения (если говорим о демоне).
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 2141
    • Просмотр профиля
Re: Автозапуск скрипта от имени su
« Ответ #8 : 29 Декабрь 2017, 17:57:30 »
AnrDaemon, А что не так? Ему надо периодически и часто осуществлять одни и те же действия,
я и сказал, какиое есть варианты этого. И зачем там xterm, мне вот непонятно.
Пётр.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27425
    • Просмотр профиля
Re: Автозапуск скрипта от имени su
« Ответ #9 : 29 Декабрь 2017, 22:13:15 »
AnrDaemon, А что не так? Ему надо периодически и часто осуществлять одни и те же действия,
я и сказал, какиое есть варианты этого. И зачем там xterm, мне вот непонятно.
Не надо ему ничего осуществлять, надо просто один раз правильно настроить сеть.
Учитесь уже читать то, что вы читаете, а не просматривать по диагонали, выискивая знакомые слова.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 2141
    • Просмотр профиля
Re: Автозапуск скрипта от имени su
« Ответ #10 : 29 Декабрь 2017, 23:31:22 »
AnrDaemon, Согласен, так это же ваши слова, а не его. А он спрашивал, как запускать скрипт.
Пётр.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27425
    • Просмотр профиля
Re: Автозапуск скрипта от имени su
« Ответ #11 : 30 Декабрь 2017, 03:58:50 »
Так, вот только не надо нам тут форум в кармаоверфлов превращать.
Это там главный принцип - ответить на вопрос, не важно насколько сам вопрос туп и нелеп.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 2141
    • Просмотр профиля
Re: Автозапуск скрипта от имени su
« Ответ #12 : 30 Декабрь 2017, 10:01:23 »
AnrDaemon, Зато это адекватня реакция - ответить в точности на то, о чём спрашивают.
Не знаю, как сейчас, а раньше и закон предписывал отвечать только на то, о чём спрашивают при дознании,
а о прочем доносить особо, и сейчас суд не не вправе выйти за рамки обвинения.
Ответ точно на вопрос способствует выработке правильных рефлексов, а уход в сторону - нет.
Пётр.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27425
    • Просмотр профиля
Re: Автозапуск скрипта от имени su
« Ответ #13 : 30 Декабрь 2017, 11:22:59 »
Не путайте судопроизводство с техническим форумом.
Правильным ответом на вопрос "как прострелить себе ногу" будет "не надо этого делать".
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

toZen

  • Гость
Re: Автозапуск скрипта от имени su
« Ответ #14 : 30 Декабрь 2017, 11:42:45 »
Peter_I, AnrDaemon, по существу пожалуйста, остальное в ЛС.

 

Страница сгенерирована за 0.292 секунд. Запросов: 24.