запуск скрипта от имени root

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

safronowmax
Сообщения: 103

запуск скрипта от имени root

Сообщение safronowmax »

Подскажите пожалуйста, как можно запустить скрипт с правами root?
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: запуск скрипта от имени root

Сообщение allez »

Например, так: получить права root с помощью su или sudo и запустить скрипт.
Спасибо сказали:
safronowmax
Сообщения: 103

Re: запуск скрипта от имени root

Сообщение safronowmax »

allez, вы имеете в виду например так:
#!bin/bash
sudo mkdir test

Или нет?
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: запуск скрипта от имени root

Сообщение allez »

Можно, конечно, и так - использовать sudo в самом скрипте, а можно и просто весь скрипт запустить командой вида "sudo script.sh".
Спасибо сказали:
safronowmax
Сообщения: 103

Re: запуск скрипта от имени root

Сообщение safronowmax »

Проблема в том, что данный скрипт будет отдавать данные в zabbix, и такой вариант не подойдет, попробовал в /etc/sudoerc прописать пользователя с правами root: vbox ALL=(ALL) ALL, но что-то все равно не работает

Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21235
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: запуск скрипта от имени root

Сообщение Bizdelnick »

safronowmax писал(а):
13.12.2012 22:33
vbox ALL=(ALL) ALL,

Вам, видимо, нужно что-то вроде

Код: Выделить всё

vbox localhost = NOPASSWD: /usr/local/bin/myscript
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: запуск скрипта от имени root

Сообщение Vascom »

А чем не устраивает вариант su -c 'script'?
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: запуск скрипта от имени root

Сообщение allez »

Видимо, необходимостью вводить пароль.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: запуск скрипта от имени root

Сообщение eddy »

А не лучше ли по-человечески сделать: suid добавить, из демона вызвать или еще как?
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
trendix
Сообщения: 250
Статус: кромешный
ОС: debian

Re: запуск скрипта от имени root

Сообщение trendix »

Простите несведущего!
А нельзя изменить пользователя у этого скрипта?
А нельзя ли его запускать при старте ОС?
Куда все пропали?? Да и кушать хочется!!
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: запуск скрипта от имени root

Сообщение drBatty »

trendix писал(а):
14.12.2012 20:52
А нельзя изменить пользователя у этого скрипта?

можно. А зачем? вопрос о запуске от имени рута - ему плевать на хозяина.
trendix писал(а):
14.12.2012 20:52
А нельзя ли его запускать при старте ОС?

дистрибутивозависимо. Есть универсальный вариант - /etc/rc.local
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
liaonau
Сообщения: 390
ОС: gentoo

Re: запуск скрипта от имени root

Сообщение liaonau »

drBatty писал(а):
17.12.2012 11:42
дистрибутивозависимо.

drBatty писал(а):
17.12.2012 11:42
Есть универсальный вариант - /etc/rc.local

И вызван когнитивный диссонанс ☺. Нет универсального ответа: в Gentoo, например, ответ /etc/local.d/*.start
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: запуск скрипта от имени root

Сообщение drBatty »

liaonau писал(а):
17.12.2012 18:27
И вызван когнитивный диссонанс ☺

у гентушника? о_О
может вам рассказать, где у вас компилятор, и как называется?
По теме: используйте /etc/conf.d/local.start, если у вас гента, и вы этого не знаете.
liaonau писал(а):
17.12.2012 18:27
Нет универсального ответа

/etc/rc.local это универсальный ответ для большинства дистрибутивов, но он не Ъ. Например в слаке такого тоже делать не нужно, там /etc/rc.d/rc.local (только все слакварщики, в отличие от гентушников, в курсе)
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Kopilov
Сообщения: 954
ОС: [K]Ubuntu, Debian

Re: запуск скрипта от имени root

Сообщение Kopilov »

drBatty писал(а):
18.12.2012 11:23
По теме: используйте /etc/conf.d/local.start, если у вас гента, и вы этого не знаете.

Откуда такая информация?
В моей рабочей генте (ветка stable, обновлял месяц назад) такого файла нет, и я не сталкивался с предложением его создать.
А каталог
liaonau писал(а):
17.12.2012 18:27
/etc/local.d/
имеется, и в нём лежит файл README с информацией:

Код: Выделить всё

This directory should contain programs or scripts which are to be run
when the local service is started or stopped.

If a file in this directory is executable and it has a .start extension,
it will be run when the local service is started. If a file is
executable and it has a .stop extension, it will be run when the local
service is stopped.

All files are processed in lexical order.

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

Re: запуск скрипта от имени root

Сообщение drBatty »

Kopilov писал(а):
18.12.2012 18:52
Откуда такая информация?

с вашего сайта: http://www.gentoo.ru/node/2899
Kopilov писал(а):
18.12.2012 18:52
В моей рабочей генте

а мне это и не интересно (:
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Poor Fred
Сообщения: 1575
Статус: Pygoscelis papua
ОС: Gentoo Linux, FreeBSD

Re: запуск скрипта от имени root

Сообщение Poor Fred »

safronowmax писал(а):
13.12.2012 22:33
Проблема в том, что данный скрипт будет отдавать данные в zabbix, и такой вариант не подойдет, попробовал в /etc/sudoerc прописать пользователя с правами root: vbox ALL=(ALL) ALL, но что-то все равно не работает

Как будет отдавать? Может быть, наоборот, zabbix-agent будет сам забирать? Тогда и пользователь должен быть другой. zabbix, как ни странно.

drBatty писал(а):
18.12.2012 11:23
По теме: используйте /etc/conf.d/local.start, если у вас гента, и вы этого не знаете.

В Генте это давно устарело.
Убить всех человеков!
Спасибо сказали:
Kopilov
Сообщения: 954
ОС: [K]Ubuntu, Debian

Re: запуск скрипта от имени root

Сообщение Kopilov »

drBatty писал(а):
19.12.2012 16:31
с вашего сайта: http://www.gentoo.ru/node/2899

Обратите внимание на дату:
Автор Xakep, дата создания 3 апреля, 2006 - 12:11.
/etc/conf.d/local.start

А чуть ниже и про /etc/local.d/README написано
Автор _SerEga_, дата создания 10 февраля, 2012 - 11:51.
cat /etc/local.d/README

Если в Slackware документация не теряет актуальности за шесть лет -- я буду поражён её консервативностью.
Спасибо сказали:
liaonau
Сообщения: 390
ОС: gentoo

Re: запуск скрипта от имени root

Сообщение liaonau »

drBatty писал(а):
18.12.2012 11:23
у гентушника? о_О
может вам рассказать, где у вас компилятор, и как называется?

У любого логичного человека. Поражаюсь всегда тому, что вам хочется комментировать любой вопрос вне зависимости от уровня осведомленности в нем:
drBatty писал(а):
18.12.2012 11:23
По теме: используйте /etc/conf.d/local.start, если у вас гента, и вы этого не знаете.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: запуск скрипта от имени root

Сообщение drBatty »

Poor Fred писал(а):
19.12.2012 16:39
В Генте это давно устарело.

напишите это пожалуйста на своём сайте...
Kopilov писал(а):
19.12.2012 17:43
Если в Slackware документация не теряет актуальности за шесть лет -- я буду поражён её консервативностью.

смотря на что. Когда KDE3 сменилась на KDE4 то очевидно и документация поменялась, но вот какой смысл менять загрузочные скрипты - мне непонятно. Ну а раз они не меняются, то и документация к ним тоже.

liaonau писал(а):
19.12.2012 19:22
У любого логичного человека. Поражаюсь всегда тому, что вам хочется комментировать любой вопрос вне зависимости от уровня осведомленности в нем

хм... если в этой вашей генте rc.local не только лежит не там, где у всех, но ещё и постоянно меняет своё месторасположение...
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: запуск скрипта от имени root

Сообщение Vascom »

Да сделай уже автозагрузку через модуль systemd, и хватит спорить по пустякам.
Спасибо сказали:
Аватара пользователя
taaroa
Сообщения: 1319

Re: запуск скрипта от имени root

Сообщение taaroa »

Vascom писал(а):
20.12.2012 11:38
Да сделай уже автозагрузку через модуль systemd

в rhel6 и ubuntu 12.04 нет systemd, например.

- Рядовой Петров! А о чем вы думаете, когда смотрите на этот кирпич?
- О системд, товарищ старшина.
- Как о системд?!
- А я всегда о нем думаю.

Vascom писал(а):
20.12.2012 11:38
и хватит спорить по пустякам.
:wq
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21235
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: запуск скрипта от имени root

Сообщение Bizdelnick »

Я не очень понимаю, о чём спор, если ТС уже неделю как в теме не отмечался.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Poor Fred
Сообщения: 1575
Статус: Pygoscelis papua
ОС: Gentoo Linux, FreeBSD

Re: запуск скрипта от имени root

Сообщение Poor Fred »

drBatty писал(а):
20.12.2012 11:37
Poor Fred писал(а):
19.12.2012 16:39
В Генте это давно устарело.

напишите это пожалуйста на своём сайте...

Зачем? Кто в Генту сидит - сам знает, кто устанавливает с нуля - сам увидит при редактировании конфигов. А кто другие дистрибы юзает - тем это безразлично.
Убить всех человеков!
Спасибо сказали: