Jeśli postępuję zgodnie z instrukcjami z bloga lub zapytaj Ubuntu itp., Czy zawsze jest to bezpieczne?

23

Jestem nowy w Linuksie i Ubuntu. Kiedy nie wiem, jak coś zrobić z tym systemem operacyjnym, przeszukuję Internet i pytam Ubuntu i zawsze znajduję odpowiedź.

Ale czasem nie jest to świetna odpowiedź ani kompletny samouczek. I tak postępuję zgodnie z instrukcjami, ale nie wiem, co oznaczają wszystkie polecenia.

Więc moje pytanie brzmi:

  • Czy po przejściu samouczka jestem w 100% bezpieczny?
  • Jeśli nie, to jak mogę powiedzieć, że jestem w niebezpieczeństwie?
Dimas Ari
źródło
5
Nie. sudo dd if = / dev / urandom of = / dev / sda bs = 1024k cieszyć się ponowną instalacją
Joshua
5
Nie nie nie nie nie! Nie tylko postępujesz zgodnie z losowymi instrukcjami, dowiadujesz się, co robią instrukcje i stosujesz je, aby rozwiązać problem.
Braiam
8
Nie ufaj żadnym samouczkom, które poprzedzają każde polecenie sudo.
Simon Richter,
14
„Jeśli postępuję zgodnie z instrukcjami z bloga / sieci, czy zawsze jest to bezpieczne?” . . . Co? Dlaczego miałbyś tak myśleć?
imallett,
3
Nie możemy zgodnie z prawdą udzielić odpowiedzi „tak” bez uprzedniej analizy każdego portalu / bloga, z którego kiedykolwiek będziesz otrzymywać instrukcje, abyśmy mogli sprawdzić, czy są bezpieczne. Wymień je wszystkie, abyśmy mogli je sprawdzić (szczególnie te, które znajdziesz w przyszłości).
user2338816,

Odpowiedzi:

43

TL; DR Nie, nie jesteś w 100% bezpieczny. Lub innymi słowy, zastanów się dwa razy. ;)


Nie wykonuj fragmentów kodu bez zrozumienia podstaw. Użyj, manaby dowiedzieć się więcej o poleceniu lub programie. Jeśli nie rozumiesz, skorzystaj z Google lub innego portalu wyszukiwania. A jeśli nadal masz wątpliwości, po prostu nie wykonuj kodu.

Ufasz mi? Następnie uruchomić:

man man

Ok, nie niebezpieczne, widzisz stronę podręcznika użytkownika man

Ale co z poniższym kodem, czy mi ufasz?

$(perl -MMIME::Base64 -0777ne 'print decode_base64($_)' <<< "ZWNobyAnQk9PSCEnCg==")

Nie? Dobry pomysł. Podzielmy kod:

  • perl

    Tłumacz języka Perl

  • -MMIME::Base64

    Kodowanie i dekodowanie ciągów base64

  • -0777ne

    -0777 - Zmienia separator linii na undef, pozwalając nam na zaśmiecenie pliku, dostarczając wszystkie linie do Perla za jednym razem.

    -e - Flaga (wykonaj) pozwala nam określić kod Perla, który chcemy uruchomić bezpośrednio w linii poleceń.

    -n - Wprowadź dane wejściowe do Perla linia po linii.

  • 'print decode_base64($_)'- Dekoduje ciąg, ciąg zostaje zapisany $_.

  • "ZWNobyAnQk9PSCEnCg=="- I to? Co to jest?

Zacznijmy test.

Wiemy, że jest to coś w rodzaju base64 i wygląda na zakodowane. Dlatego dekoduj ciąg za pomocą:

base64 --decode <<< "ZWNobyAnQk9PSCEnCg=="

A wynik jest… ok, niezbyt niebezpieczny:

echo 'BOOH!'

Teraz możemy zrobić to samo z perlem

perl -MMIME::Base64 -0777ne 'print decode_base64($_)' <<< "ZWNobyAnQk9PSCEnCg=="

Rezultatem jest, co za niespodzianka:

echo 'BOOH!'

Ale czy to było niebezpieczne? To jest niebezpieczne:

$(…)

Ta konstrukcja wykonuje dane wyjściowe poleceń w nawiasach okrągłych.

Spróbujmy, wierzysz mi?

$(perl -MMIME::Base64 -0777ne 'print decode_base64($_)' <<< "ZWNobyAnQk9PSCEnCg==")

„BOOH!”

A o co chodzi

c3VkbyBraWxsYWxsIG5hdXRpbHVzCg==

Wypróbuj ... Ufasz mi?

AB
źródło
twoje ostatnie polecenie po prostu narzeka na coś brakującego - na pewno ci ufam, ale tylko do pewnego momentu
Joshua
2
Wyobraź sobie, że ciąg zakodowany w Base64 to „c3VkbyBybSAtcmYgLw ==”!
Doktor J
2
@DoktorJ Dostaję tylkorm: it is dangerous to operate recursively on "/" rm: use --no-preserve-root to override this failsafe
Jonathan Callen
1
@Jonathan Dlatego powinieneś użyć ZmluZCAvIC1kZWxldGUKzamiast tego. (nb: poważnie, nie rób tego poza wyrzuconym pudełkiem)
Riking
c3VkbyBybSAtcmYgL2V0Yw==powinien też działać całkiem dobrze
Doktor J
5

Moje ogólne założenie byłoby takie: tak, ponieważ faceci z askUbuntu zwykle znają się na rzeczy.

Jednak generalnie zawsze lubię rozumieć, co robię, więc jeśli otrzymasz odpowiedź z komendą / składnią, której nie znasz - po prostu poproś o szersze wyjaśnienie. Jestem pewien, że osoba, która pomogła na pierwszym miejscu, nie miałaby nic przeciwko podzieleniu się swoją dalszą wiedzą.

Powodzenia i dokonałeś właściwego wyboru z Linuksem - mil lepiej niż konkurenci !! :-)

Moshe Shitrit
źródło
Nie mogę zastosować twojej sugestii, aby poprosić o szersze wyjaśnienie dla każdego zadania, które robię, więc myślę, że to dobra rada, ale nie jest to odpowiednia odpowiedź dzięki! tak, poczuj komfort z ubuntu ~
Dimas Ari
Pozdrawiam mój przyjacielu! :-)
Moshe Shitrit,
+1 dla „jeśli otrzymasz odpowiedź z nieznanym poleceniem / składnią - po prostu poproś o szersze wyjaśnienie”.
sudodus
Ohhh i faktycznie po prostu sobie sprawę, że jedna rzecz ja zapomniałem wspomnieć dotyczące szerszego wyjaśnienia - nie zapomnij, że istnieje strona mężczyzna i sekcję pomoc dla prawie wszystkich poleceń Linuksa, który jest albo man <command>lub <command> --help/ command -h.
Moshe Shitrit
3

Niektóre blogi są zdecydowanie lepsze od innych. I tak, początkującym trudno jest odróżnić.

Po pierwsze, upewnij się, że instrukcje dotyczą twojej wersji ubuntu. Wersje non lts trwają tylko około 9 miesięcy. Wpisy na blogu trwają znacznie dłużej. A to, co działało w starszych wersjach, często nie działa w nowszych.

Nie rób tego też, jeśli nie wyjaśnią, jak cofnąć zmiany, jeśli to nie działa, a ty nie wiesz jak.

Wiele blogów mówi o instalacji z ppa innej firmy, nawet jeśli aplikacja znajduje się w repozytoriach ubuntu. Żadna z tych rzeczy nie jest testowana w wersji beta dla twojego wydania jądra. Nie mam ppa w źródłach mojego oprogramowania i nie zrobię tego, chyba że będzie to naprawdę konieczne.

użytkownik138156
źródło
myślę, że upewnij się, że wyjaśnią, jak cofnąć zmiany, to dobry pomysł
Dimas Ari
1
Niektóre miejsca, takie jak Webup8, są naprawdę przydatne, a inne nie. Umowy PPA pod pewnymi względami są lepsze niż instalacja tylko pakietu, aby uzyskać więcej informacji na temat tego, jak możesz im zaufać, to: askubuntu.com/questions/35629/...
Wilf
1

Spróbuj spojrzeć na wiele blogów, które dotyczą określonego problemu. Mogą istnieć szczegóły, które jeden blog zawiera, ale inny nie. Sugeruję również, abyś prowadził dziennik zmian, które wprowadzasz na wypadek, gdybyś musiał je przywrócić w przyszłości. A jeśli coś pogorszy się, zawsze możesz zresetować Ubuntu do domyślnej konfiguracji.

BYŁO
źródło