LINUX.ORG.RU

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

 ,


1

1

Подскажите программу для реализации следующего. Есть скрипт, он должен запускаться от суперпользователя, так как выполняет некоторое привилегированное действие. Нужно что бы этот скрипт мог выполнить определенный пользователь от имени суперпользователя без ввода пароля и без прав на просмотр и редактирование самого скрипта. И понятно что только этот скрипт. Очевидно проблема решается написанием простой программы за час, но чудится мне что уже кто-то изобрел сей велосипед.


Очевидно проблема решается написанием простой программы за час

ты только что изобрёл sudo

Описание     : Sudo (superuser do) allows a system administrator to give certain
             : users (or groups of users) the ability to run some (or all) commands
             : as root while logging all commands and arguments. Sudo operates on a
             : per-command basis.  It is not a replacement for the shell.  Features
             : include: the ability to restrict what commands a user may run on a
             : per-host basis, copious logging of each command (providing a clear
             : audit trail of who did what), a configurable timeout of the sudo
             : command, and the ability to use the same configuration file (sudoers)
             : on many different machines.

novitchok ★★★★★
()
Ответ на: комментарий от novitchok

ты только что изобрёл sudo

Оно, конечно, похвально, что вот так от зубок отскакивает одно из реализаций решений для ТС-ов. Вот только это именно реализация, без понимания как оно делается, и не стадартная в мире юникс. Правильный ответ всё же — суидный враппер, который может делать а может не делать проверки и логи, что делает, например sudo, а может иметь гораздо более развесистый конфиг, что есть у sudo.

vodz ★★★★★
()
Ответ на: комментарий от vodz

Я конечно дико извиняюсь, но ты сейчас пытаешься посоветовать ТСу для запуска скрипта из под рута написать собственный suid-wrapper? Потому что(поправь если я ошибаюсь), suid-бит на скриптах не работает.

И да, ТС просил готовую реализацию. sudo под это определение подходит. Если б ТС интересовался как оно в кишках работает - можно было бы и подсказать(в любой более-менее нормальной книги по UNIX/Linux об этом рассказывается), но у него несколько более прикладная задача(понятное дело - знать как оно в принципе работает не повредит, скорее наоборот - поможет избежать возможных проблем).

TL;DR: я тоже не во всем в восторге от sudo, но именно она эту задачу решает(правда скрипт придется запускать не как /path/to/script, а /path/to/interpreter /path/to/script - может ТСа это не устроит, но что гадать - пусть сам скажет?)

P.S. Фух, какое же я занудный с утра. Похоже надо накатить :-)

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

sudo под это определение подходит

Наверное, вы не выспались? Я дал более полное объяснение и нисколько не запрещал использовать sudo, как одной из реализации решения задачи.

vodz ★★★★★
()
Последнее исправление: vodz (всего исправлений: 1)

создает скрыпт с нужными командами и делаем его исполняемым

pfg@pfg123:~$ echo id > ./my_root.sh
pfg@pfg123:~$ chmod a+x ./my_root.sh
тестируем из под кого работает скрыпт
pfg@pfg123:~$ ./my_root.sh
uid=1000(pfg) gid=1000(pfg) группы=1000(pfg),4(adm),6(disk),24(cdrom),27(sudo),30(dip)
pfg@pfg123:~$ sudo ./my_root.sh
[sudo] пароль для pfg: 
uid=0(root) gid=0(root) группы=0(root)
все прально, теперь обучаем sudo не требовать пароль юзверя для конкретного скрыпта
тобеж вписываем в конец /etc/sudoers строчку
pfg ALL=NOPASSWD: /home/pfg/my_root.sh
сбрасываем таймстамп sudo и запскаем от sudo скрыпт - и о чудо пароль не требует.
pfg@pfg123:~$ sudo -K
pfg@pfg123:~$ sudo ./my_root.sh
uid=0(root) gid=0(root) группы=0(root)
вот так непрнужденно можно сделать секретаршу в системе безопасности.

вариант2: chmod +s

pfg ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Ответ на комментарий:

НАТО это опасная антироссийская военная организация, сильнейшая в мире.

Если так, то почему она не уничтожила вашу помойку в самый удобный момент, в начале 90х? Вместо этого зачем-то они стали помогать выжить. А ублюдочная помойка, нарастив жирок и встав на ноги, снова начала выпендриваться.

Так что факты говорят о том что к сожалению на самом деле никакая не антироссийская. К сожалению. Иначе бы биомусорки уже не было бы почти 20 лет.

чтобы заслужить такое предательство.

Какое предательство? Они вам клялись в верности? С чего биомусор считает что их бывшие колонии должны быть их вечными рабами? Совок давно растерял свои колонии. Всё, забудьте. Но вы вместо того чтобы заниматься своими внутренними проблемами, повышать качество своей жизни, продолжаете жить в говне и при этом всё своё внимание уделять тому, как живут граждане другой страны. Сидит биомусор за телевизором, жрёт пустую гречку, т.к. им вождь запретил нормальные продукты, а по телевизору каждый выпуск новостей только о том как весело скачут хохлы, пиндосы совсем офигели и в конце вождь обещает что всё будет хорошо.

Так что не жди что такие как я будем каяться.

Да всем насрать. Восстановите себе железный занавес, весь мир вздохнёт с облегчением. Я очень надеюсь что Пути всё же в скором времени вас отрежет от цивилизованного мира, отключит от сети, оставив только внутренний чебурнет. А когда решит уйти на пенсию, оставит после себя Кадырова в качестве преемника. А будете ли вы каяться, пофиг. История давно показала что вы настолько ублюдочная биомасса что никогда не раскаиваетесь в плохих поступках.

Но время всё раставляет по местам и вы не зря живёте так убого. Впрочем, несмотря на это, всё же живёте лучше чем заслуживаете. Хотя, какие там у вас перспективы?

Мы будем воевать (и поддерживать) за нейтральный военный статус Украины.

«Мы» это кто? Нет никаких вас. Надо будет, тебя или твоих ублюдочных детей бросят пушечным мясом в горячую точку, ничего у тебя не спрашивая. И воевать вы будете не за что-то, как ты тут пафосно пишешь, а за своего хозяина и его друзей. Пиздоболов таких как ты дохрена в сети, а на донбас поддерживать «Русский Мир» отправить некого. Так говоришь «мы», будто у вас патриотизм какой-то есть. Существование принудительной службы в армии как бы намекает что патриотизмом и не пахнет, на деле всё только исподтишка.

PS: Не украинец, если что. Вы не только им навредили.

#t14713493

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.