Как войти в систему как корень от Bash, и действительно наполнить

Хотя можно проанализировать вывод от a find необходимо заботиться о пробелах и т.д. К сожалению, gunzip не имеет a --keep/-k флаг для хранения (как bzip2 и xz действительно имейте).

Если сделал бы маленький сценарий gunzipkeep это берет один параметр (gzipped файл) и делает распаковку, поместило тот сценарий где-нибудь в Ваш $PATH и называет его с:

find /opt/fooapp/foosubdirectory -name "foo.ext.gz" -print0 | xargs -0 --norun-if-empty --max-args 1 gunzipkeep

Сценарий мог быть чем-то как:

#!/bin/bash
inname=$1
outname=${inname%.gz}

gunzip -c "$inname" > "$outname"
4
18.02.2014, 21:56
4 ответа
Пароль можно вписать в трубку и отправить в команде внутри скрипта. [12132] Но не стоит посылать пароль в командной строке. Если вам нужна дополнительная информация о том, как войти в систему от имени root из скрипта, вы можете посмотреть на ответ [11790] здесь[11791].[12133] Однако, если это для экспериментальных целей, мы можем использовать ожидание, что пароль будет введен из командной строки. Скрипт необходимо модифицировать, как показано ниже. [12134]Последняя строка необходима, так как после ввода пароля нужно нажать Enter. Как предположил Tian, не стоит посылать пароль root в скрипт оболочки.
5
27.01.2020, 20:47

Я ПОЛУЧИЛ ОТВЕТ ОТ здесь

Делать такие вещи небезопасно или не является стандартной практикой (на самом деле многие считают это катастрофой), это действительно не очень хорошая идея - помещать пароль в скрипт. Более стандартным подходом было бы просто ожидать, что весь сценарий будет выполняться с привилегиями root, или просто попросить сценарий ввести пароль. Вы также можете разрешить выполнение различных команд через sudo без пароля определенным пользователям, используя опцию NOPASSWD в /etc/suoders.

Однако теперь, когда вы знаете о рисках, можно использовать sudo -kS, чтобы sudo считывал пароль из stdin:

sudo -kSs << EOF
password
whoami
echo "Not a good idea to have a password encoded in plain text"
EOF
2
27.01.2020, 20:47

Вы пробовали / etc / sudoers?

your_user ALL=(ALL) NOPASSWD: /path/to/script.sh

(редактировать с: sudoedit / etc / sudoers) Тогда вы сможете запустить:

sudo /path/to/script without password
0
27.01.2020, 20:47

Теги

Похожие вопросы