Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Gароль рута задать в скрипте. Bash (https://forum.antichat.xyz/showthread.php?t=134916)

cupper 14.08.2009 13:41

Gароль рута задать в скрипте. Bash
 
Нужно сделать скрипт на bash, в нем команда требуют прав root'a, скрипт в последствии будет выполняться автоматически другим скриптом, поэтому нужно чтобы пароль root'a подставляться в самой скрипте а не скрипт запускался от root'a. Как это можно реализовать ?

POS_troi 14.08.2009 14:32

Цитата:

подставляться в самой скрипте а не скрипт запускался от root'a. Как это можно реализовать
Никак ибо это есть неправильное решение - это даже хуже чем рутовый пароль написать на бумажке и приклеить к монитору менеджера в самом оживленном отделе.

Как вариант - устоновить на файл бит.

cupper 14.08.2009 14:40

балин так и знал что ктонибуть да напишит ето.

Все правильно я делаю, срать на етот пароль ой фейковый, машины тестовая

на винграде был пост что можно сделать так
Цитата:

echo "пароль" | sudo -u <имя пользователя> -S -- <команда>
делаю так
Цитата:

!/bin/bash

. parametr.dat
echo "pwd" | sudo -u root -S -- echo "$UID"
но получаю в ответ при запуске скрпта
Цитата:

usage: sudo -V | -h | -L | -l | -v | -k | -K | [-H] [-P] [-S] [-b] [-p prompt]
[-u username/#uid] -s | <command>

POS_troi 14.08.2009 15:24

Код:


echo "pwd" | sudo -u root -s | echo "$UID"


__mad 14.08.2009 15:42

Цитата:

Сообщение от POS_troi
Код:


echo "pwd" | sudo -u root -s | echo "$UID"


Код:

$ echo "pwd" | sudo -u root -s | echo "$UID"
1000
Password:

Как вариант, suid бит поставить (как говорил POS_troi), тогда придется использовать специальный враппер (если запускать напрямую суид бит работать не будет).

Или же в /etc/sudoers добавить пользователя из под которого sudo [1] не будет спрашивать пароль, и тогда запускать скрипт как sudo ./script.sh.

[1] user ALL=(ALL) NOPASSWD: ALL

POS_troi 14.08.2009 15:56

Цитата:

$ echo "pwd" | sudo -u root -s | echo "$UID"
1000
Password:
А так

Код:

echo "pwd" | sudo -u root -s echo "$UID"
Просто нет сейчас под рукой никакого Unix-а =( сижу виндовые серваки конфигурю.

А вообще еще раз повторю! - Это не правильно и не важно что за серваки! нужно все делать так чтобы было безопасно ибо все равно ты попытаешься когда нить применить это на своем серваке и влетиш по самые помидоры (лично для меня такой способ является недопустимой роскощью - до которой мне еще долго сходить сума )

cupper 14.08.2009 16:49

Цитата:

echo "pwd" | sudo -u root -S echo "$UID"
народ кто на линуксе, проверите, а то я работаю уделенно с винды через ssh на сервере под root'ом сразу. А добавить пользователя чтобы от него проверить не являеться возможным по пока неизвестным мне причинам.

Цитата:

А вообще еще раз повторю! - Это не правильно и не важно что за серваки!
у меня есть два варианта:
1) убрать у рута вообще пароль
2) сделать подстановку пароля в скрипте

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

Там (на неведамом мне сервере) есть мега скрипт или чета такое которое в авто режими запускает кучу скриптов из под обычного юзера, я пишу скрипт и он потом будет брошен в общую массу всех других скриптов, все скрипты стандартизированы, отклонений быть неможет, поэтому и нужно сделать чтобы пароль писался в нутри скрипта и нече другое ( или снять пароль рута на том серве (проще сделать в скрипте чем снимать его)) неподходит

PS. в коде параметр не -s а -S

POS_troi 14.08.2009 17:07

Цитата:

я прекрастно осознаю все последствия такого метода в других случаях, но это не он.
Заповедь - "Не навреди" относится и к чужим серверам ;)

ща домой приеду, посмотрю что к чему, а так даже не знаю, никогда не приходило в голову такая кащунская идея ;)

cupper 14.08.2009 18:30

вобщем дабы непариться сделали
Цитата:

Или же в /etc/sudoers добавить пользователя из под которого sudo [1] не будет спрашивать пароль, и тогда запускать скрипт как sudo ./script.sh.

[1] user ALL=(ALL) NOPASSWD: ALL
но всеже остаеться интерстно почему тот вариант неработал

aaaa, нашелтаки ету злаполучной сточку кода на open.net чер ее побери

Цитата:

echo "pwd" |sudo -H -S bash -c "whoami"
выводить root

врот ей ноги, грязные.


Время: 12:24