Linux

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 .

Montowanie obrazów ISO (urządzenia loop)

Użytkownicy Debiana (i innych dystrybucji linux'a) mają czasem poważne problemy z zamontowaniem obrazu ISO pozyskanego czy to z internetu, czy też od swoich znajomych. Na windowsach zwykliśmy korzystać z takich rozwiązań jak Daemon Tools, Alcohol 120%, czy też WinCDEmu. Na linux'ach z narzędzi, które mają GUI, można chyba wyróżnić furiusisomount oraz acetoneiso ale nie będziemy się nimi zajmować w tym wpisie. Na dobrą sprawę, to nie potrzebujemy żadnego zewnętrznego oprogramowania, by sprawnie i szybko zamontować dowolny obraz ISO w swoim systemie. W tym wpisie zostanie przedstawiony sposób montownia tychże obrazów, który zakłada wykorzystanie urządzeń loop .

Cache DNS, czyli włączenie buforowania zapytań

Większość z nas wie, że standardowe instalacje systemu linux nie buforują żadnych zapytań do serwerów DNS. Dzieje się tak dlatego, że te systemy domyślnie nie mają zainstalowanego żadnego oprogramowania, które by im to umożliwiało. Niesie to ze sobą zwiększenie opóźnień transakcji krótkoterminowych, np. tych w protokole http czy https. Za każdym razem gdy odwiedzamy jakiś serwis www, musimy wykonać szereg zapytań DNS, by rozwiązać nazwy domen na adresy IP. W przypadku gdybyśmy mieli cache DNS, to te nazwy nie musiałyby być za każdym każdym razem rozwiązywane na nowo, przynajmniej nie przez odpytywanie zdalnego serwera DNS, do którego RTT wynosi jakieś 20-40ms. Przydałoby się zatem nieco poprawić wydajność stron www i w tym wpisie postaramy się zaimplementować prosty cache DNS z wykorzystaniem narzędzia dnsmasq.

Uprawnienia do plików systemowych w linux'ie

Każdy z nas popełnia błędy. Niektóre z nich są błahe i w sporej części łatwe do poprawienia. Zwykle też nie niosą one ze sobą większych konsekwencji. Natomiast błędy, które popełniamy podczas pracy w systemie operacyjnym wykonując różne prace administracyjne mogą nas czasem słono kosztować. W linux'ach ogromną rolę odgrywają prawa do plików. O ile root ma dostęp do wszystkich plików, to w przypadku zwykłych użytkowników (czy tez usług systemowych) już tak nie jest. Przypadkowa zmiana tych uprawnień może zaowocować problemami związanymi z bezpieczeństwem takiego systemu, a w niektórych przypadkach może nawet uniemożliwić jego start. Na necie kilka razy obił mi się o oczy temat, gdzie ludzie przez przypadek (lub też całkiem świadomie) zmienili masowo uprawnienia w takich katalogach jak /usr/ czy /etc/ . Powiem nawet więcej, mi się raz taka sytuacja kiedyś przytrafiła. Co w takim przypadku można zrobić? Czy jedyną opcją, jaka nam pozostaje, to ponowna instalacja sytemu? Na szczęście nie, bo uprawnienia do plików możemy sobie zwyczajnie spisać i odtworzyć je w późniejszym czasie.

Zmiana kodowania znaków w plikach na UTF-8

Pliki tekstowe w linux'ie są zakodowane w formacie UTF-8. Ta cyfra 8 może być jednak myląca, bo ilość bajtów potrzebnych do zakodowania pojedynczego znaku może się różnić i wynosi od 1 do 4. Tak czy inaczej, środowiska linux'owe już dawno zaimplementowały obsługę tego systemu kodowania i uczyniły go sobie domyślnym. Są jednak takie systemy operacyjne, które nie wykorzystują domyślnie UTF-8 do kodowania tekstu. Wobec czego, gdy spróbujemy otworzyć w edytorze taki plik, to w pewnych miejscach będziemy mieli krzaczki, zwykle tam gdzie są polskie znaki. To zjawisko jest bardzo charakterystyczne dla napisów w filmach. Niemniej jednak, zarówno edytory tekstu jak i player'y video są w stanie dokonać automatycznego doboru systemu kodowania i zwrócić nam czytelny plik. Nie zawsze jednak tak robią. Zamiast bawić się w tego typu automatyczne wynalazki, dużo lepszym rozwiązaniem jest zmiana kodowania plików, tak by przekonwertować je do formatu UTF-8 i w tym wpisie postaramy się to zrobić.