Posts

Zmiana hasła konta administratora root

W pewnych skrajnych przypadkach może się nam zdarzyć tak, że zapomnimy hasła do konta administratora systemu. Jak wiadomo bez użytkownika root w naszych linux'ach nie da się zbytnio nic zrobić. Na pewno nie da się przeprowadzić żądnych prac administracyjnych. Zwykle w takim przypadku moglibyśmy przeinstalować system i ustawić nowe hasło ale to wydaje się lekką przesadą. Poza tym, co w przypadku gdy nie możemy zwyczajnie zainstalować na nowo systemu lub nie mamy akurat pod ręką płytki czy pendrive live? Czy w linux'ie jest w ogóle możliwość odzyskania hasła użytkownika root bez rozkręcania komputera biorąc pod uwagę te wszystkie mechanizmy bezpieczeństwa, które czynią ten system tak bezpiecznym? Oczywiście zmiana hasła do konta administratora jest możliwa i nawet nie trzeba się przy tym zbytnio wysilać.

Programowe i sprzętowe zerowanie dysku

Zerowanie dysku twardego ma na celu usunięcie wszystkich znajdujących się na nim danych. Generalnie chodzi o zapisanie całej powierzchni danego nośnika samymi zerami. Ten proces różni się znacząco of formatowania dysku, czyli utworzenia nowego systemu plików, gdzie praktycznie wszystkie dane można bez większego problemu odzyskać. Zerowanie dysku (czy też pendrive) może w pewnych przypadkach naprawić logiczne błędy sektorów na dysku. Niemniej jednak, nie usuniemy za jego pomocą fizycznych bad'ów. Generalnie rzecz biorąc, mamy do wyboru dwie techniki zerowania. Jedna jest dokonywana na poziomie programowym, np. przy pomocy dd , druga zaś na poziomie sprzętowym, np. w hdparm . W tym wpisie postaramy się wyzerować przykładowy dysk.

Całkowite usuwanie plików przy pomocy shred

W przypadku, gdy musimy pozbyć się jakiegoś pliku, który znajduje się na dysku, to nie jest zalecane korzystanie z narzędzia rm . Usuwa ono jedynie odnośnik do pliku, który go identyfikuje w strukturze systemu plików, tzw. i-węzeł (i-node). To co uzyskujemy za pomocą takich narzędzi jak rm , to jedynie oznaczenie pewnych bloków (tych od pliku) jako wolne, w których system operacyjny będzie w stanie dokonać zapisu danych późniejszym czasie. Podczas tej operacji nie są usuwane żadne informacje z dysku, a mając na uwadze ten fakt, możemy bez problemu tak "usunięty" plik odzyskać. By mieć pewność, że plik zostanie trwale zniszczony, trzeba go ponownie napisać, np. przy pomocy shred, który standardowo jest dostępny w każdej dystrybucji linux'a i to jemu będzie poświęcony ten wpis.

Integralność plików passwd, group, shadow, gshadow

W pliku /etc/passwd jest przechowywana baza danych kont użytkowników w systemie linux. Z kolei w /etc/group mamy wypisane wszystkie grupy oraz powiązanych z nimi użytkowników. Generalnie rzecz biorąc, to te dwa pliki odpowiadają za konfigurację kont. Problem jednak zaczyna się w momencie gdy w grę wchodzą hasła, zarówno do kont jak i do grup. Gdyby były one trzymane w tych plikach, nie byłyby one w żaden sposób szyfrowane. Dlatego też powstał inny mechanizm, który ma na celu przeniesienie zahashowanych haseł do plików /etc/shadow i /etc/gshadow . W debianie użytkownikami i grupami możemy zarządzać przy pomocy odpowiednich narzędzi, które automatycznie dostosują wszystkie powyższe pliki. Nic jednak nie stoi na przeszkodzie aby edytować każdy z nich ręcznie. Problemy mogą się pojawić w momencie, gdy te pliki będą zawierać różne wpisy, np. w pliku passwd będzie określony użytkownik, który jednocześnie nie będzie istniał w pliku shadow , podobnie z grupami. W tym wpisie postaramy się sprawdzić te pliki i upewnimy się czy aby na pewno jest z nimi wszystko w porządku.

Przewidywalne nazwy interfejsów sieciowych

Podczas jednej z aktualizacji systemu został mi zwrócony pewien komunikat. Oświadczał on bowiem, że od jakiegoś czasu nazewnictwo interfejsów sieciowych w systemie uległo zmianie, oraz, że w wersji 10 debiana, ten obecny system nazw nie będzie już wspierany. Rozchodzi się o coś co nazywa się Predictable Network Interface Names, czyli przewidywalne nazwy interfejsów sieciowych. Jako, że aktualne wydanie stabilnego debiana ma numerek 8 i w niedalekiej przyszłości zostanie wydana 9, to przydałoby się już zacząć migrować na ten nowy system nazw. W tym wpisie dokonamy takiej migracji i zobaczymy jakie zmiany musimy poczynić, by nie doświadczyć problemów związanych z tą migracją nazw.

Czy zmiana nazwy użytkownika root ma sens?

Wielu ludzi potrafi się rozpisywać na temat bezpieczeństwa systemu linux jednocześnie nie zauważając jednego bardzo poważnego problemu. Wszyscy wiemy, że linux'y są bezpieczne min. przez fakt rozgraniczenia konta administratora od konta zwykłego użytkownika i nadaniu im różnych praw dostępu do poszczególnych części systemu operacyjnego. O ile konta użytkowników mają różne nazwy, o tyle administrator w praktycznie każdym linux'ie kryje się pod nazwą root . Znając nazwę konta, można próbować złamać hasło. To trochę dziwne, że nie można sobie arbitralnie ustalić nazwy dla tego konta tak by uniknąć wszelkich ataków, które związane są z logowaniem się na określonego użytkownika w systemie. W tym wpisie postaramy się prześledzić całą procedurę zmiany nazwy konta root na jakąś dowolną i zobaczymy czy wpłynie to w jakimś stopniu na pracę naszego systemu.

Jak wypakować każde archiwum

Archiwum .tar.gz czy też każde inne, np. .zip lub .rar , jest bardzo użyteczne przy przesyłaniu przez sieć plików między wieloma maszynami. Nie dość, że zaoszczędzają nam sporo transferu, to jeszcze do tego operujemy na jednym pliku. Problem z tymi wszystkimi rodzajami archiwów jest taki, że do każdego z nich mamy inne narzędzia. Zwykle też każde z tych narzędzi ma inne opcje, które taką paczkę potrafią wypakować. Przydałby się zatem sposób, który ogarnąłby wypakowanie różnych archiwów i sprowadzałby się do wydania w terminalu tylko jednego polecenia, bez potrzeby pamiętania nazw narzędzi i ich opcji. W tym wpisie postaramy się coś takiego zaimplementować na swoich linux'ach.

Konfiguracja cache DNS w Firefox'ie

We wpisie poświęconym systemowemu cache DNS w linux'ie mieliśmy okazję zobaczyć jak wzrasta wydajność po zaimplementowaniu tego mechanizmu. W skrócie, to ponad drugie tyle zapytań było rozwiązywanych lokalnie bez potrzeby odwoływania się do zdalnego serwera DNS, co zajmuje sporo czasu (20-40ms). Przeglądarki internetowe, np. Firefox, mają swoje wynalazki, które potrafią wyeliminować opóźnienia związane z surfowaniem po stronach www. Do nich zalicza się również cache DNS, z tym, że w tym przypadku zaimplementowany jest on na poziomie przeglądarki, a nie globalnie w systemie. Dzięki temu rozwiązaniu, nawet bez dnsmasq , Firefox jest nam w stanie zaoszczędzić sporo czasu przy przeglądaniu internetu. Zajrzyjmy zatem Firefox'owi pod maskę i sprawdźmy, które parametry dotyczące cache DNS wymagają dostosowania.

Nagrywanie strumienia audio radia internetowego

Człowiek raczej nigdy nie przywyknie do absolutnej ciszy. Dlatego nawet jeśli pracujemy nad czymś ważnym, to chcemy mieć w tle jakiś dźwięk, który zagłuszy ciszę. Zwykle jest to nasza ulubiona muzyka odtwarzana na jednym z player'ów audio, który mamy zainstalowany w swoim linux'ie. Muzyka może nam się szybko znudzić, zwłaszcza gdy w kółko odsłuchujemy te same kawałki. Te bardziej wymagające osobniki preferują informacje zamiast muzyki, a to wiąże się w dużej mierze z wszelkiej maści podcastami czy też radiami internetowymi. W sporej części przypadków, musimy być obecni przy kompie podczas nadawania audycji. Może nie koniecznie jest to wymagane przy podcastach, bo pliki .mp3 możemy sobie ściągnąć w późniejszym czasie ale sporo stacji radiowych nie dostarczy słuchaczom audycji w trybie offline. Poza tym, w przypadku podcastów, mamy także część audycji, która jest nienagrywana i nie jest uwzględniona w pliku .mp3 . Tak czy inaczej, przydałoby się mieć możliwość nagrania strumienia audio, który jest przesyłany przez sieć. Czy istnieje jakiś prosty sposób, który nam to umożliwi?

Statystyki transferu danych w sieci (vnstat)

W prehistorycznych czasach, internet był bardzo limitowany. Nie chodzi tutaj o prędkość, która obecnie sięga 100+ mbit/s, a o transfer danych. Świat poszedł już trochę do przodu od tamtego czasu i chyba żaden ISP, który obecnie dostarcza internet stacjonarny, nie narzuca swoim klientom ile danych mogą pobrać i/lub wysłać w konkretnym miesiącu. Problem pojawia się w przypadku internetu mobilnego, który w niedługim czasie prawdopodobnie zapanuje nad światem. Mowa oczywiście o LTE, czyli szerokopasmowym internecie bezprzewodowym. Chodzi generalnie o to, że spora cześć providerów (jak nie wszyscy) limitują transfer danych w tej usłudze. Jest to około 100GB na miesiąc. Może to wydawać się dużo ale trzeba mieć na względzie, że dotyczy to zarówno download'u jak i upload'u. No i oczywiście, dziś wszystko mamy w HD i rzadko kto korzysta z internetu sam. Nawet przeciętna strona www waży już kilka MiB. Przydałoby się zatem wiedzieć ile danych transmitujemy przez sieć każdego dnia, tak by czasem nie doświadczyć problemów związanych z przekroczeniem transferu. W tym wpisie postaramy się pozyskać te informacje i wygenerujemy sobie przyzwoite statystyki transferu przy pomocy narzędzia vnstat .