potok do sudo -E bash -

10

Zastanawiałem się, co jest celem potokiem pobrany plik curldo sudo -E bash -w następującym powłoce:

curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -

Mr.Y
źródło

Odpowiedzi:

10

Jest to krótki sposób wykonania skryptu bez konieczności zapisywania pliku, a następnie jego wykonania. Gdy zapiszesz plik, a następnie go wykonasz, wiele rzeczy może pójść nie tak:

  • Użytkownik nie wpisał poprawnie nazwy pliku
  • Użytkownik nie używał poprawnej powłoki (być może uruchomiono ją sh foo.shzamiast bash foo.sh)
  • Użytkownik próbował wykonać plik zamiast ustawić na nim bash ( ./foo.sh) i zapomniał ustawić uprawnienia do wykonywania
  • Użytkownik zapomniał użyć sudo

Udostępniając jeden wiersz poleceń do wykonania, programiści mogą zmniejszyć liczbę miejsc, w których może się nie udać z powodu błędu luser.

Osobiście nie cierpię zwijania się lamówek. To nie jest bezpieczne.

muru
źródło
7

To polecenie pobiera plik i spróbuje go wykonać z uprawnieniami administratora.

Barafu Albino
źródło
3
Dziękuję, ale jaki jest wybór -Eopcji i -na końcu dowodzenia?
Mr.Y
5
@Youssef -Ezachowuje zmienne środowiskowe (powiedz zmienne dla ustawień proxy) i -każe bash czytać polecenia ze standardowego wejścia, tj. Potoku.
muru