W tej części:
u Od czego zacząć
u Podstawowe polecenia
u System plików
u Prawa dostępu do plików i katalogów
u Programy użytkowe projektu GNU
u bash
u pdksh
u tcsh
u Programowanie w języku powłoki
u FTP i Telnet
E:\Moje dokumenty\HELION\Linux Unleashed\Indeks\06.DOC 121
Rozdzia³ 6. ¨ Od czego zacząć? 131
Ed Trejis i Tim Parker
W tym rozdziale:
u Uruchamianie i zamykanie systemu
u Co to znaczy zalogować się?
u Hasła
u Zakładanie nowego konta
u Wypróbowywanie nowego konta
u Polecenie who
u Terminale wirtualne
u Polecenia i programy
Proces uruchamiania Linuxa zależy od konfiguracji programu LILO. W najprostszym przypadku uruchamia się on automatycznie z dysku twardego lub dyskietki. Jeśli w systemie zainstalowane są inne wersje Linuxa lub inne systemy operacyjne, to aby system został załadowany, należy zazwyczaj po uruchomieniu komputera wprowadzić jakąś etykietę.
Podczas inicjalizacji systemu Linux przez ekran przewija się mnóstwo komunikatów. Są to informacje o wykrytym sprzęcie oraz o sterownikach programowych ładowanych przy uruchamianiu. Po zakończeniu sekwencji startowej powinieneś zobaczyć komunikat
darkstar login:
Nazwa na początku tego komunikatu prawdopodobnie będzie inna; zależy ona od wersji instalowanego oprogramowania. Niektóre systemy pokazują również informację o wersji, na przykład tak:
Welcome to Linux 1.2.13darkstar login:
Inna postać tych komunikatów z pewnością nie jest powodem do zmartwień. Różnią się one w zależności od dystrybucji. Po zalogowaniu się zawsze wyświetlany jest jakiś znak zachęty, na przykład symbol dolara.
System linuxowy zawsze musi zostać prawidłowo zamknięty. Niewłaściwe zakończenie działania systemu, np. przez wyłączenie komputera, może spowodować poważne uszkodzenie systemu plików. Procedura zamykania systemu opisana jest w następnym podrozdziale. Jeśli zdarzy Ci się rozpocząć przez przypadek uruchamianie Linuxa, powinieneś pozwolić na dokończenie sekwencji startowej, a następnie zamknąć system. Przerywając sekwencję startową, ryzykujesz utratę danych.
Wiesz już, jak uruchomić Linuxa, ale jeszcze ważniejsze jest, by wiedzieć, jak go prawidłowo zamknąć. Podobnie jak w większości systemów pozwalających na jednoczesną pracę wielu użytkowników (np. UNIX czy Windows NT), nieprawidłowe zamknięcie Linuxa może skończyć się uszkodzeniem pojedynczych plików, lub, co gorsza, całego systemu plików. Spowodowane jest to faktem, że Linux przechowuje najświeższe informacje o strukturze systemu plików (tablica I-node) w pamięci, w celu przyspieszenia operacji dyskowych. Podczas prawidłowego zamknięcia systemu wersja przechowywana w pamięci jest zapisywana na dysku. Jeśli tablica I-node nie zostanie prawidłowo zapisana, zawartość dysku twardego może nie zgadzać się z danymi ją opisującymi. Rezultaty takiej sytuacji są nieprzewidywalne. Poza tym Linux używa dysków twardych w sposób ciągły, niezależnie od tego, czy akurat korzystasz z systemu, czy nie. Przerwanie zapisu może również spowodować uszkodzenie systemu plików. Prawidłowe zamknięcie systemu wymusza najpierw zakończenie wszystkich zapisów na dysk.
Najłatwiejszym sposobem na poprawne zamknięcie systemu jest użycie klawiszy Alt+Control+Delete. Na ekranie pojawi się seria komunikatów. Po zakończeniu procedury zamykającej system uruchomi się ponownie. Cała operacja zajmuje kilka sekund. Jest szybka i łatwa, a jednocześnie chroni przed uszkodzeniem systemu plików.
Z metodą opisaną powyżej wiąże się jednak pewne niebezpieczeństwo: wszyscy użytkownicy zalogowani do systemu zostaną brutalnie odłączeni, tracąc wszystkie niezapisane dane. Należy więc uprzedzić wszystkich użytkowników przed jej zastosowaniem. Aby sprawdzić, kto aktualnie jest zalogowany, można użyć polecenia who (jest ono opisane dokładniej w dalszej części tego rozdziału).
Istnieje również kilka innych metod wyłączenia systemu. Najczęściej spotykane polecenia służące do wykonania tego zadania to shutdown, haltsys i fasthalt (ich nazwy mogą się różnić w zależności od wersji oprogramowania). Musisz sam sprawdzić, które z nich są obsługiwane w Twoim systemie.
Drugim z najpopularniejszych sposobów zamykania systemu jest użycie polecenia shutdown. Jego składnia pozwala na podanie kilku parametrów, na przykład czasu, po jakim ma nastąpić wyłączenie, i czy po wyłączeniu powinno nastąpić ponowne uruchomienie systemu. Parametr określający czas jest w większości wersji wymagany. Przykładowo, polecenie
shutdown –t45
powoduje zamknięcie systemu po 45 sekundach od jego wydania. Niektóre wersje nie wymagają przełącznika –t, interpretując liczbę jako ilość sekund, jaką mają odczekać. Jeśli chcesz zamknąć system natychmiast, powinieneś wpisać liczbę 0 lub też (w niektórych systemach) użyć opcji now:
shutdown now
Opcja –r powoduje restart systemu po zamknięciu go. Może być ona użyteczna podczas testowania nowych konfiguracji, na przykład dołączania nowych wersji sterowników. Listę innych dostępnych opcji można zazwyczaj uzyskać, wpisując polecenie shutdown bez parametrów. Również strony systemu pomocy man zawierają odpowiednie informacje.
Polecenia fasthalt i haltsys zostały przeniesione z innych wersji UNIX-a i, jak wskazują ich nazwy, służą do natychmiastowego zamknięcia systemu.
Po uruchomieniu systemu Linux pozwala Ci się zalogować. Twój identyfikator, a raczej identyfikator Twojego konta, dzięki któremu system wie, kto aktualnie go używa, nazywany jest po angielsku login. Linux pamięta zestaw identyfikatorów osób, których dostęp do systemu jest dozwolony. Bez znajomości jednego z nich i towarzyszącego mu hasła dostęp do systemu nie jest możliwy (a przynajmniej nie powinien być).
W obrębie jednego systemu identyfikatory użytkowników nie mogą się powtarzać, zwykle każdy z nich ma przypisane inne hasło. Hasło funkcjonuje podobnie jak numer identyfikacyjny w banku: pozwala systemowi zweryfikować tożsamość użytkownika. Różni użytkownicy mają różne prawa dostępu. Niektórzy z nich mogą robić z systemem co im się tylko zamarzy, inni zaś mogą mieć dostęp tylko do wyznaczonych danych. Przywileje te są ustalane przez administratora systemu (osobę zakładającą nowe konta).
Identyfikator użytkownika zazwyczaj odpowiada w jakiś sposób jego prawdziwemu nazwisku czy imieniu. W większych systemach może on na przykład składać się z kombinacji pierwszej litery imienia i nazwiska, na przykład tparker czy rmaclean. Mniejsze systemy zazwyczaj są mniej formalne i identyfikatorami mogą być zdrobnienia imion, inicjały itp. Pamiętaj, że identyfikator typu szef nic nie mówi innej osobie korzystającej z systemu i może być przyczyną nieporozumień.
Choć w obrębie jednego systemu identyfikatory nie mogą się powtarzać, można stworzyć konta dla użytkowników o takich samych imionach i nazwiskach po prostu zmieniając jedną czy dwie litery; będą one traktowane przez system jako zupełnie oddzielne.
Nic natomiast nie stoi na przeszkodzie, by jeden użytkownik posiadał dwa lub więcej kont. W rzeczywistości, będąc administratorem systemu, powinieneś posiadać jedno konto z uprawnieniami administratora i jedno jako zwykły użytkownik.
Nawet jeśli podasz niewłaściwy identyfikator użytkownika, na przykład imię swojego psa (niewłaściwy, czyli nie rozpoznawany przez system), i tak zostaniesz zapytany o hasło. Cokolwiek wprowadzisz, Linux nie pozwoli na dostęp do systemu, wypisując komunikat Login incorrect. Taki sam komunikat zostanie wyświetlony, jeśli podasz właściwy identyfikator, ale nieprawidłowe hasło.
Jedyne konto dostępne po instalacji systemu, o identyfikatorze root, posiada pełne prawa dostępu, w związku z czym jego używanie wiąże się z różnymi niebezpieczeństwami. W podrozdziale „Tworzenie nowego konta” opisana zostanie procedura zakładania konta bezpiecznego w użyciu. Identyfikator takiego konta może być dowolny. Niektóre wersje programu instalującego Linuxa wymuszają utworzenie takiego konta już podczas instalacji.
Dlaczego Linux pyta o hasło nawet wtedy, gdy podany identyfikator nie jest prawidłowy? Powodem takiego zachowania jest fakt, że Linux używa programu login, który najpierw żąda wprowadzenia identyfikatora i hasła, a dopiero potem sprawdza ich poprawność. Następnie albo wyświetla komunikat o tym, że dostęp do systemu nie został przyznany, albo przekazuje sterowanie do programu obsługującego dalszą część procesu logowania.
Od czasu do czasu użycie konta root jest niezbędne, ponieważ tylko użytkownik root posiada pełne uprawnienia. Nie powinieneś go jednak używać podczas normalnej pracy, a już na pewno nie wtedy, gdy chcesz poeksperymentować z nieznanymi poleceniami. Ograniczone prawa dostępu zapewniają wtedy względne bezpieczeństwo systemu.
Linux, jak już wiesz, jest systemem wielozadaniowym i wieloużytkownikowym. W tym samym czasie z systemu może korzystać kilka osób (oczywiście za pośrednictwem terminali). Wielozadaniowość oznacza, że Linux może wykonywać jednocześnie więcej niż jeden program. Przykładowo, można sprawdzać pisownię w dokumencie, jednocześnie ładując z Internetu jakąś dokumentację itp. (możliwość korzystania z systemu przez wielu użytkowników wymusza wielozadaniowość, ponieważ każdy użytkownik musi mieć możliwość uruchamiania różnych programów). Linux pod tym względem działa znakomicie, nie pozwalając na uszkodzenie systemu czy wyników pracy innych użytkowników.
Konto root nie nakłada na użytkownika żadnych ograniczeń. Oznacza to, że używając jakiegoś polecenia, celowo czy przypadkowo możesz zniszczyć cały system plików Linuxa. Dlatego używaj tego konta tylko wtedy, gdy jest to naprawdę konieczne. Unikaj eksperymentowania, gdy jesteś zalogowany jako root.
Jeśli zalogujesz się jako root, masz pełną kontrolę nad systemem. Identyfikator ten nazywa się też czasem – nie bez powodu – superuser. Używając porównania, zwykły użytkownik jest pasażerem samolotu, zaś root jego pilotem. Jest odpowiedzialny za załogę, pasażerów i cały sprzęt. Pytanie „Hmm, do czego to służy?” staje się w tym momencie naprawdę niebezpieczne.
W systemach UNIX-owych zdarzają się sytuacje, że nowy administrator po zainstalowaniu systemu i zalogowaniu się jako root niszczy go po kilku sekundach. Jeśli jednak będziesz przestrzegał podanych tu wskazówek i nie będziesz wydawał poleceń, których skutków nie jesteś w stanie przewidzieć, żarty w stylu „ilu nowych użytkowników potrzeba, żeby wyłożyć system?” nie będą się odnosiły do Ciebie.
Inny termin, z którym nieraz jeszcze się zetkniesz, to administrator systemu. Jest to osoba, która instaluje i opiekuje się systemem linuxowym. Ilość pracy, jaką musi wykonać, jest bardzo różna, w zależności od systemu. Pełnoetatowy administrator może okazać się niezbędny np. w biurze posiadającym kilka większych komputerów, wielu użytkowników i takie urządzenia, jak drukarki czy napędy taśmowe, połączone w sieć. Twój system linuxowy najprawdopodobniej nie będzie wymagał zbyt intensywnej opieki.
Administracja systemem, włączając takie czynności, jak na przykład zakładanie i usuwanie kont, wymaga przywilejów oferowanych przez konto superuser czy root. Administrator jest więc jedyną osobą, która ma uzasadnione powody do ich używania
Przymykając na razie oko na wszystkie powyższe ostrzeżenia, zaloguj się jako root. Ponieważ jest to jedyny użytkownik mający uprawnienia do tworzenia nowych kont, jest to nieuniknione. Poza tym trzeba będzie przeprowadzić kilka operacji wymagających specjalnych uprawnień. Zaraz po pierwszym zalogowaniu się do systemu utworzymy jakieś bezpieczne konto.
W odpowiedzi na monit
wpisz
root
i wciśnij klawisz Enter. Jeśli podczas instalacji Linuxa zostałeś zapytany o hasło dla użytkownika root, musisz je teraz podać. W przeciwnym przypadku system nie zapyta o hasło. Jeśli zdarzy Ci się zapomnieć hasła administratora, będziesz niestety zmuszony do przeinstalowania całego systemu[1].
W systemie Linux małe i wielkie litery są rozróżniane (podobnie jak we wszystkich wersjach UNIX-a). Wielka litera „R”...
wrim