Chcę pobrać skrypt ze strony: http://dl.dropbox.com/u/11210438/flockonus-stack.sh i wykonać go. Domyślam się, aby użyć wget zmieniając jego nazwę, chmod i wykonuj.
Jakie są polecenia, aby to zrobić na Ubuntu?
Chcę pobrać skrypt ze strony: http://dl.dropbox.com/u/11210438/flockonus-stack.sh i wykonać go. Domyślam się, aby użyć wget zmieniając jego nazwę, chmod i wykonuj.
Jakie są polecenia, aby to zrobić na Ubuntu?
Ostrożny
Czy przed uruchomieniem skryptu ufasz osobie, która go napisała?
Na przykład, czy spodziewałeś się, że skrypt to zawiera?
echo "brain1" > /etc/hostname
Spróbuje to zmienić twoją nazwę hosta.
Na przyszłość, jeśli po sprawdzeniu, czy skrypt jest poprawny i nie jest złośliwy, możesz uruchomić go w jednym wierszu:
wget -O - http://dl.dropbox.com/u/11210438/flockonus-stack.sh | bash
Ale pobierz go osobno i przeczytaj przed pierwszym uruchomieniem.
Należy również pamiętać, że interaktywne monity w pobranym skrypcie mogą nie działać poprawnie przy użyciu tej metody.
echo "brain1" > /etc/hostname
samo łatwo może byćrm -rf /
.apt-get install
linie? Jeśliapt-get
zainstaluje jakieś dodatkowe zależności, zapyta cię, a jeśli nie, po prostu wyjdzie, aby być bezpiecznym. Dodaj wszystkie zależne pakiety do argumentów wiersza poleceń lub rozważ dodanie-y
, np.apt-get -y install...
Skrypty nieinteraktywne
Pamiętaj, że podczas korzystania z tej metody interaktywne skrypty nie będą działać.
Interaktywne skrypty
Aby uruchomić interaktywne skrypty, możesz użyć tego:
Interaktywne skrypty, które należy uruchomić jako root
Zauważ, że nie możesz go łatwo użyć,
sudo bash
ponieważ użycie<(...)
spowoduje utworzenie pliku wirtualnego, a jego deskryptor pliku nie będzie dostępny z instancji root bash. Musi zostać wykonany na tym samym użytkowniku, który musi odczytać plik wirtualny, więc musi zostać wysłany jako własne polecenie w powłoce użytkowników root.źródło
Kiedy dpkg działa, wywoływany przez apt-get, opróżnia stdin. Jeśli używasz polecenia podobnego
curl blah | bash
, to w zasadzie wysyłasz zawartość strony do bash poprzez STDIN. Jeśli jedno z twoich poleceń jest apt-get, a następnie uruchamia się, wszystko inne zostanie wyczyszczone.Sztuką jest użycie takiego polecenia
apt-get install --yes denyhosts </dev/null
. Daje to apt-get inne dane wejściowe i po prostu opróżnia / dev / null zamiast reszty skryptu.Jeśli chcesz zobaczyć pełny przykład instalacji czegoś za pomocą zdalnego skryptu, możesz zajrzeć do tego skryptu, aby skonfigurować denyhosts
Dla przypomnienia wolę w tym celu curl niż wget, ale wget też powinien być w porządku.
źródło
źródło
We wszystkich tych przykładach brakuje dość ważnego punktu. Jeśli używasz adresu URL
http://dl.dropbox.com/u/11210438/flockonus-stack.sh
, musisz kontrolować skrypt za każdym razem, gdy go pobierasz, ponieważ może on być modyfikowany przez każdego na ścieżce sieciowej między tobą a dropboxem. Jeśli przejdziesz na http s : //dl.dropbox.com/u/11210438/flockonus-stack.sh , nie będziesz mieć tego źródła niepewności.(Dropbox próbuje przekierować adres URL http na https, ale w przypadku ataku sieciowego wget nigdy nie będzie mógł rozmawiać z prawdziwym dropboxem i nigdy nie zobaczy przekierowania)
źródło
Spróbuj pobrać go tak, jak określiłeś wget, a następnie uruchom go bezpośrednio. Możesz uzyskać fantazję i użyć zmiennych dla skryptu, który chcesz pobrać itp., Ale to załatwi sprawę
Na przykład:
źródło