Dziel i rządź

Ideę kontrolowania pracy systemu operacyjnego na odległość od lat realizują takie usługi, jak Telnet czy SSH. Oznacza to jednak konieczność wykonania wielu operacji z poziomu linii poleceń, co nie każdy lubi. A może by tak wykorzystać do tego celu zwykłą przeglądarkę WWW? cWebmin, czyli Web-based Administration Server, to zintegrowane narzędzie administracyjne, udostępniające graficzny interfejs użytkownika za pośrednictwem przeglądarki internetowej. Autorem programu jest Australijczyk Jamie Cameron. Stworzona przez niego aplikacja internetowa pozwala zarówno na lokalne, jak i zdalne sterowanie pracą wielu usług i funkcji dostępnych w różnych odmianach systemów uniksowych z poziomu przeglądarki WWW. Obsługiwane są m.in. takie systemy, jak większość dystrybucji Linuksa, BSD, Solaris, SCO Unix czy Mac OS X. W niniejszym artykule przyjrzymy się głównym cechom linuksowej wersji Webmina, jego budowie, możliwościom oraz sposobom ich rozszerzania.

Webmin Geralt z Rivii

Główną zaletą aplikacji jest przede wszystkim łatwość obsługi – można by rzec – odwrotnie proporcjonalna do zakresu funkcjonalności, jaką program oferuje. Interfejs aplikacji – w formie zbioru odsyłaczy, tabel i formularzy HTML – jest czytelny i wygodny. Zasada działania Web-mina opiera się na prezentacji parametrów bieżącej konfiguracji danego elementu systemu i umożliwieniu dokonania w niej zmian. Edycja poszczególnych opcji konfiguracyjnych ogranicza się do trzech podstawowych czynności – “dodaj”, “usuń” oraz “modyfikuj”. Konfigurowanie elementów systemu w większości przypadków sprowadza się do wyboru spośród wartości dostępnych dla poszczególnych parametrów lub wprowadzaniu danych. Czynności tych dokonywać można za pomocą standardowych elementów formularzy HTML, takich jak listy rozwijalne, przyciski, pola wyboru itd. Dostęp do parametrów konfiguracyjnych pojedynczych elementów stanowiących większą całość (np. plików wchodzących w skład pakietu oprogramowania) realizowany jest w myśl “od ogółu do szczegółu”. Zbiory elementów oraz ich krótki opis prezentowane są w postaci tabel lub list, gdzie nazwa pojedynczego elementu stanowi odnośnik. Po jego wybraniu wyświetlona zostaje szczegółowa informacja dotycząca elementu (np. pliku pakietu). Jak więc widać, nowicjuszom Webmin oferuje intuicyjny, “wizualny” sposób administrowania systemem, pozwalając zgłębiać jego tajniki bez potrzeby mozolnego przeszukiwania stron podręcznika programu.

Inną ważną cechą programu jest to, że można go używać za pośrednictwem sieci z praktycznie dowolnego miejsca Sieci. Warunkiem korzystania z dobrodziejstw Webmina jest zainstalowana w systemie dowolna przeglądarka WWW, obsługującej tabele i formularze HTML. W przypadku funkcji programu wykorzystujących aplety Javy (menedżer plików, logowanie przez Telnet, połączenie SSH) wymagane jest dodatkowo włączenie obsługi tego języka w przeglądarce. Ze względu na fakt, iż Webmin cechuje się wyjątkową dbałością o kwestie bezpieczeństwa systemu, innym, oczywistym warunkiem korzystania z aplikacji jest uzyskanie odpowiednich praw dostępu. Ich weryfikacja następuje na kilku niezależnych poziomach – m.in. kontroli numerów IP, autoryzacji sesji oraz potwierdzenia posiadania właściwego certyfikatu autoryzacji.

Oparcie aplikacji na otwartej, modularnej architekturze zapewnia programowi elastyczność i uniwersalność. Całkowita kontrola zasięgu działania aplikacji znajduje się w rękach administratora Webmina, co pozwala każdemu dostroić możliwości programu do własnych potrzeb. Bez konieczności ingerencji w kod źródłowy można ograniczyć funkcjonalność aplikacji (np. ze względów bezpieczeństwa) lub też w łatwy sposób dodać nowe mechanizmy. Umożliwia to zawarty w obrębie Webmina menedżer modułów, który automatycznie dodaje lub odinstalowuje poszczególne funkcje programu. Dodatkowo, zgodnie z założeniem licencji GPL (General Public Licence), dowolny element programu można poddawać samodzielnej modyfikacji, jak również tworzyć własne rozwiązania i dystrybuować je w postaci modułów. Wszystkie skrypty w obrębie aplikacji napisane zostały w Perlu (wersji 5.002), z wykorzystaniem standardowych modułów biblioteki tego języka, dzięki czemu poszczególne programy CGI wchodzące w skład Webmina są w pełni przenośne pomiędzy różnymi odmianami systemów uniksowych.

Dużą zaletą aplikacji jest dbałość o dobrosąsiedzkie stosunki z innymi, dostępnymi w systemie, narzędziami konfiguracyjnymi – użycie Webmina nie koliduje bowiem w żaden sposób z możliwością ich wykorzystania lub odwołania się bezpośrednio do wiersza poleceń. Równie istotną cechą programu jest – można by rzec – gracja, z jaką porusza się on w systemie plików. Webmin nie modyfikuje bowiem zawartości zbiorów konfiguracyjnych bez wyraźnej potrzeby ani przyzwolenia ze strony administratora lub w sposób wykluczający kompatybilność z innymi elementami systemu. Jeśli program nie może zinterpretować opcji lub dyrektyw bieżącej konfiguracji, po prostu ignoruje je i pozostawia w nienaruszonej postaci w pliku konfiguracyjnym.

Więcej:bezcatnews