Wget сценарий и выполненный это

Я не могу предоставить фактический ответ, но Вы могли попытаться диагностировать путем копирования DB и попытки открыть его с некоторым другим клиентом SQLite. Firefox имеет 'расширение' менеджера по SQLite, которое может открыть и исследовать произвольные .sqlite файлы, например.

Обратите внимание, что я не рекомендую открыть исходный файл! Сделайте копию и работайте с этим как можно больше так, чтобы Вы не смешивали с данными приложения неумышленно.

28
задан 24 January 2011 в 23:57
6 ответов

Осторожно!

Прежде, чем запустить скрипт, Вы доверяете человеку, который записал это?

Например, Вы ожидали, что сценарий будет содержать это?

echo "brain1" > /etc/hostname

Это попытается изменить Ваше имя хоста.


Для дальнейшего использования, если, после проверки сценария является корректным и не злонамеренным, можно выполнить его в одной строке как это:

wget -O - http://dl.dropbox.com/u/11210438/flockonus-stack.sh | bash

Но загрузите его отдельно и считайте его прежде, чем выполнить его в первый раз.

Также обратите внимание, что интерактивные подсказки в загруженном сценарии не могут работать правильно с помощью этого метода.

51
ответ дан 28 November 2019 в 20:01

Тот сценарий от меня, это безопасно.. Любимый острота, но, это имеет некоторые интерактивные строки, которые не работали.. не знать почему?

Когда dpkg работает, названный Кв. - добираются, это сбрасывает stdin. Если Вы используете команду как curl blah | bash, затем Вы в основном отправляете содержание страницы для избиения через STDIN. Если одна из Ваших команд склонна - добираются, то выполнения, все остальное будет сброшено.

Прием должен использовать команду как это apt-get install --yes denyhosts </dev/null. Это дает склонный - получают другой вход, и он просто сбрасывает/dev/null вместо остальной части Вашего сценария.

Если Вы хотите видеть полный пример установки чего-то с помощью удаленного сценария, можно хотеть посмотреть на этот сценарий для установки denyhosts

Для записи я предпочитаю завихрение по wget для этого, но wget должен также быть прекрасным.

5
ответ дан 28 November 2019 в 20:01
#!/bin/sh
if [ ! -f "/tmp/flockonus-stack.sh" ]
then
    wget -O /tmp/flockonus-stack.sh http://dl.dropbox.com/u/11210438/flockonus-stack.sh
fi

sh /tmp/flockonus-stack.sh
4
ответ дан 28 November 2019 в 20:01

Попытка, просто загружающая его, поскольку Вы указали с wget и затем выполнением его непосредственно. Можно стать необычными и использовать переменные для сценария, который Вы хотите загрузить и т.д., но это добьется цели

Например:

!#/bin/bash

#Change to temp directory
cd /tmp

#Download file using wget
wget http://dl.dropbox.com/u/11210438/flockonus-stack.sh

#Execute the file

sh flockonus-stack.sh
2
ответ дан 28 November 2019 в 20:01

Во всех этих примерах отсутствует довольно важный момент. Если вы используете URL-адрес http://dl.dropbox.com/u/11210438/flockonus-stack.sh , вам необходимо проверять скрипт каждый раз при его загрузке,потому что он может быть изменен любым пользователем на сетевом пути между вами и Dropbox. Если вы переключитесь на http s : //dl.dropbox.com/u/11210438/flockonus-stack.sh , у вас не будет этого источника незащищенности.

(Dropbox пытается перенаправить URL-адрес http на https, но в случае сетевой атаки wget никогда не сможет связаться с настоящим Dropbox и никогда не увидит перенаправление)

4
ответ дан 28 November 2019 в 20:01

Неинтерактивные сценарии

wget -O - http://website.com/my-script.sh | bash

Обратите внимание, что при использовании этого метода интерактивные сценарии не будут работать.


Интерактивные сценарии

Чтобы интерактивные сценарии работали, вы можете использовать следующее:

bash <(wget -qO- http://website.com/my-script.sh)

Интерактивные сценарии, которые необходимо запускать от имени пользователя root

Предупреждение: это чрезвычайно опасно. Не рекомендуется.

sudo su -c "bash <(wget -qO- http://website.com/my-script.sh)" root

Обратите внимание, что вы не можете просто использовать sudo bash , так как использование <(...) создаст виртуальный файл, и его файловый дескриптор не будет доступен из root bash пример. Он должен выполняться для того же пользователя, которому необходимо прочитать виртуальный файл, поэтому он должен быть отправлен как собственная команда внутри оболочки пользователя root.

9
ответ дан 28 November 2019 в 20:01

Теги

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