Ćwiczenie 1. Elementarne czynności administracyjne 1.1. Wstęp W
Transkrypt
Ćwiczenie 1. Elementarne czynności administracyjne 1.1. Wstęp W
Ćwiczenie 1. Elementarne czynności administracyjne 1.1. Wstęp W ćwiczeniu nie będziemy korzystać ze środowiska graficznego (X-Windows). Ćwiczenia będziemy wykonywać w trybie znakowym. W tym celu podczas wyświetlenia formularza logowania wybieramy opcję Menu->Tryb konsoli lub używamy skrótu Alt+N. Jeżeli uruchomiliśmy środowisko graficzne wciskamy kombinację Ctrl+Alt+Backspace i wówczas powracamy do okna logowania, gdzie możemy przejść do trybu znakowego. Po przejściu do trybu konsoli i poprawnym logowaniu, możemy uruchomić środowisko graficzne używając polecenie startx. Ćwiczenia można również wykonać w środowisku X-Windows, w oparciu o okno terminala (xterm), jednak z pewnych względów jest to najgorsze rozwiązanie. Następnym sposobem wykonywania ćwiczeń jest pozostawienie uruchomionej sesji X-Windows i zastosowanie odpowiednich kombinacji klawiszowych, przez co uzyskujemy dostęp do sześciu konsoli znakowych zwanych inaczej wirtualnymi terminalami (konsolami). W środowisku graficznym uzyskujemy dostęp do sześciu konsoli znakowych, przełączając się do nich za pomocą kombinacji klawiszowych: l_ctrl+l_alt+F1 do l_ctrl+l_alt+F6. Z dowolnej konsoli znakowej wracamy na konsole graficzną stosując kombinację klawiszy l_ctrl+l_alt+F7 albo krótszą wersję l_alt+F7. Na każdej konsoli możemy zalogować się do systemu jako ten sam lub inny użytkownik otwierając w ten sposób sesję użytkownika. Podczas każdej z sesji możemy uruchamiać wiele zadań jednocześnie (część z nich w tle). Prawidłowe zakończenie sesji użytkownika polega na wylogowaniu się z systemu za pomocą polecenia logout. Podczas wylogowywania użytkownika root należy wpisać exit. Wyłączenie komputera odbywa się za pomocą polecenia halt lub shutdown –h now, następnie należy wpisać hasło użytkownika root. Ponownego uruchomienia można dokonać za pomocą reboot, którego pełna forma ma postać: shutdown –r now, następnie należy podać hasło użytkownika root. Aby usunąć z ekranu wszelkie informacje wyświetlone w czasie pracy należy użyć polecenia clear. Najczęściej polecenia będziemy zapisywać wraz ze znakiem gotowości systemu („#”, „$”). Znak gotowości nie jest wprowadzany przez operatora, lecz automatycznie wypisywany na ekranie monitora przez system operacyjny. Nie należy go zatem wprowadzać z klawiatury. Wprowadzamy tylko treść polecenia. Znak gotowości wskazuje na to, czy dane polecenie wykonuje osoba zalogowana do systemu jako root (administrator), czy też jako zwykły użytkownik. Znak „#” oznacza że jesteśmy zalogowani jako root, natomiast znak dolara „$” odpowiada każdemu innemu użytkownikowi systemu. Polecenie systemowe w Linuksie może być albo poleceniem wewnętrznym powłoki (bash-a) lub poleceniem zewnętrznym. Polecenie zewnętrzne jest plikiem wykonywalnym przechowywanym w określonym katalogu. Polecenie wewnętrzne jest wbudowane w sam bash. Istnieją dwa rodzaje plików wykonywalnych: skrypty powłoki (teksty z poleceniami wykonywane przez powłokę) i pliki binarne (skompilowane programy w języku maszynowym wykonywane bezpośrednio przez procesor). Polecenia zewnętrzne niczym szczególnym nie odróżniają się od innych plików wykonywalnych, czyli programów i skryptów użytkownika. Wszystkie pliki wykonywalne i polecenia wewnętrzne powłoki uruchamia się tak samo: przez podanie nazwy i często opcjonalnych parametrów: nazwa [parametry] Przez parametry rozumie się tu opcje oraz argumenty. 1.2. Logowanie jako root W czasie instalacji Linuksa, użytkownikowi root nadaliśmy hasło: tinfor. Włączamy komputer. Po załadowaniu się systemu operacyjnego przełączamy się w tryb tekstowy w jeden ze sposobów podanych we wstępie, następnie logujemy się jako root. 1.3. Ćwiczenia 1.3.1. Ćwiczenie: Podstawy edycji i uruchamiania poleceń Wiersz poleceń (czyli to co znajduje się za znakiem gotowości) służy do wprowadzania poleceń. Przez wprowadzenie polecenia rozumiemy wypisanie jego treści (nazwy, opcji i argumentów) i naciśnięcie klawisza enter. Klawisze sterujące poziomym ruchem kursora powodują przesuwanie kursora w wierszu poleceń, a klawisz backspace kasuje znaki w sposób analogiczny jak w DOS’ie. Usunięcie całego wiersza powoduje kombinacja ctrl+u. Ogólna składnia polecenia: nazwa_polecenia opcje argumenty Opcje poprzedzamy znakiem - (minus). Znak ten piszemy bezpośrednio przed literą opcji. Opcje, także argumenty nie zawsze mogą wystąpić, np.: Została wyświetlona zawartość katalogu głównego /. Nazwą polecenia jest tutaj ls. Opcje nie występują. Argumentem jest ukośnik (slash), oznaczający katalog główny. Użyteczne kombinacje klawiszowe: ctrl+c – przerwanie wydanego polecenia, ctrl+\ – zakończenie wykonywania polecenia z jednoczesnym wykonaniem zrzutu, czyli utworzeniem pliku i zapisaniem w nim obszaru pamięci wykorzystywanego przez dany proces, taki plik nosi nazwę core, ctrl+s – przerwanie wyświetlania na ekranie , ctrl+q – kontynuowanie wyświetlania na ekranie. Próba przejścia do nowego wiersza w trakcie edycji (naciśnięcie enter) spowoduje wprowadzenie polecenia. Najczęściej przejście do nowego wiersza nastąpi automatycznie bez ingerencji z naszej strony; „ręczne” przejście przeprowadza się za pomocą odwrotnego ukośnika (backslash) i naciśnięcia enter’a. 1.3.2. Ćwiczenie: Zakładanie konta użytkownika (useradd, passwd) Czynnościami administracyjnymi zajmuje się root, mający nieograniczone uprawnienia w systemie. Do normalnej pracy należy w miarę możliwości korzystać z konta zwykłego użytkownika, gdyż nieświadomie możemy narobić wiele szkód w systemie. Zakładamy dwa nowe konta zwykłych użytkowników: Założyliśmy dwóch nowych użytkowników: jacek1 i jacek2. Przy tworzeniu drugiego użytkownika zwróćmy uwagę, że klawiszami pionowymi (strzałkami) kursora możemy przewijać bufor klawiatury, co ułatwia wprowadzanie kolejnych poleceń, a zwłaszcza ich modyfikację. Podczas tworzenia konta użytkownika tworzony jest automatycznie jego katalog domowy o nazwie takiej samej jak nazwa użytkownika (/home/jacek1 i /home/jacek2) oraz definiowane są inne parametry, m.in. określana jest powłoka, z jaką użytkownik będzie pracował po zalogowaniu się do systemu. Domyślną powłoką jest bash. Nowo założonym użytkownikom nadajmy hasła: Przejdźmy na drugą konsolę wirtualną (l_alt+F2) i zalogujmy się jako jacek1: Teraz przejdźmy na trzecią konsolę wirtualną i zalogujmy się jako jacek2: Zauważmy, że znak gotowości dla użytkownika root to „#”, natomiast dla zwykłych użytkowników (jacek1 i jacek2) to dolar „$”. 1.3.3. Ćwiczenie: Wędrówka po katalogach Przejdźmy na pierwszą konsolę wirtualną i wylogujmy się wpisując logout, a następnie zalogujmy się z powrotem na konto root: Jak widzimy, mamy teraz dodatkową informację o ostatnim logowaniu się na to konto. Mamy również informację że na komputerze o nazwie localhost zalogował się użytkownik root. Przejdźmy do katalogu głównego: Widzimy co zmieniło się w nawiasach kwadratowych, zagłębmy się w dalsze katalogi: W nawiasach kwadratowych mamy podaną tylko nazwę bieżącego katalogu. Jeżeli nazwa katalogu poprzedzona jest ukośnikiem „/”, oznacza to, że katalog znajduje się w katalogu głównym. Brak ukośnika wskazuje na katalog umieszczony niżej w strukturze drzewa. Aby dowiedzieć się, gdzie się znajdujemy, korzystamy z polecenia pwd: Polecenie pwd pokazuje pełną ścieżkę dostępu do katalogu, w którym obecnie się znajdujemy. Do przemieszczania się między katalogami służy polecenie cd z następującymi aliasami kropkowymi: „.” bieżący, „..” bezpośrednio wyższy, „~” domowy użytkownika. Przećwiczmy sobie polecenie cd: Wgląd do środka katalogu umożliwia polecenie ls: Opcja –F polecenia ls wprowadza na ekran własne oznaczenia typów plików używając kilku specyficznych znaków. Są one wyłącznie dodatkową informacją dla użytkownika, a nie częścią nazwy pliku. Następnie wypiszmy sobie całą zawartość (wszystkie katalogi i wszystkie pliki) drzewa root. Wykonujemy to za pomocą opcji –R polecenia ls. Problem nie mieszczenia się treści na ekranie rozwiązujemy za pomocą more: # ls –F /dev a następnie: # ls –F /dev | more Katalog /dev zawiera wystarczająco dużo plików, aby nie zmieściły się na jednej ekranie. Sterowanie tekstem w more odbywa się następująco: enter – przesunięcie o jeden wiersz, spacja – przesunięcie o stronę naprzód, q albo Q – wcześniejsze wyjście. Na wyświetlenie zawartości pliku pozwala polecenie cat: W tym przypadku dokonaliśmy wypisania pliku konfiguracyjnego passwd, który zawiera informacje dotyczące kont użytkowników systemu. Oprócz konta root i dwóch przez nas założonych jacek1 i jacek2 istnieją konta użytkowników systemowych – nie możemy się na nie logować. Każdy wiersz pliku passwd dotyczy informacji o jednym koncie (użytkowniku). Wiersz składa się z pól oddzielonych dwukropkami: pole pierwsze to nazwa użytkownika, pole drugie to zakodowane hasło, pole trzecie to numer identyfikacyjny użytkownika (UID), pole czwarte to numer identyfikacyjny grupy (GID), pole piąte to ewentualna dodatkowa (tekstowa) informacja użytkowniku, pole szóste wskazuje katalog domowy użytkownika, pole siódme wskazuje powłokę użytkownika. 1.3.4. Ćwiczenie: Podszywanie się pod root’a (su) Linux umożliwia podszywanie się pod innego użytkownika, najczęściej podszywamy się pod root’a, chcąc posiadać największe uprawnienia. Przejdźmy na drugą konsolę (l_alt+F2), gdzie jest zalogowany jacek1 i podszyjmy się pod root’a: Zauważmy zmianę znaku gotowości z „$” na „#”, następnie powróćmy do siebie: W ogólnym przypadku polecenie su umożliwia stanie się dowolnym użytkownikiem. 1.3.5. Ćwiczenie: Zmiana hasła (passwd) Na drugiej konsoli zalogowany jest jacek1, zmieńmy hasło dla tego konta: teraz wylogujmy się za pomocą polecenie logout i zalogujmy ponownie. Zwykły użytkownik może swobodnie zmieniać swoje hasło logowania i nie musi w tym celu prosić o to administratora. Powróćmy następnie do poprzedniego hasła. 1.3.6. Ćwiczenie: Nasze procesy (ps) Przejdźmy na pierwszą konsole wirtualną i użyjmy polecenia ps a: Polecenie to wypisuje na ekranie procesy aktualnie uruchomione w systemie i dotyczące (opcja a) wszystkich użytkowników. Rozszerzoną informację o procesach uzyskamy przez: Każdemu procesowi odpowiada jeden wiersz powyższego wydruku. Poszczególne pola oznaczają: USER – nazwa użytkownika (właściciela procesu), PID – identyfikator procesu, %CPU – procent czasu procesora wykorzystywany przez proces, %MEM – procent pamięci fizycznej wykorzystywanej przez proces, SIZE – wirtualna wielkość procesu w kilobajtach, RSS – wielkość części rezydentnej procesu w kilobajtach, TTY – identyfikator terminala sterującego, STAT – bieżący stan procesu (S – uśpiony, R – wykonywany), START – moment uruchomienia procesu (godzina : minuty), TIME – skumulowany czas procesora zużyty przez proces, COMMAND – polecenie. Następnie użyjmy polecenia ps aux | more. Opcja x umożliwia pokazanie procesów niezwiązanych z żadnym terminalem. Dopiero ps aux pozwala na zobaczenie naprawdę wszystkich procesów. 1.3.7. Ćwiczenie: Montowanie CD-ROM (mount) Pozostajemy na pierwszej konsoli wirtualnej. Wkładamy CD-ROM do czytnika i wprowadzamy polecenie: Polecenie mount służy w ogólności do zamontowania dowolnego (obsługiwanego przez Linux) systemu plików. Poszczególne łańcuchy określają: -t iso9660, typ systemu plików; -o ro, „read only” (tylko do odczytu); /dev/hdc, pełna ścieżka dostępu do pliku specjalnego urządzenia; /mnt/cdrom, pełna ścieżka dostępu do katalogu, do którego montujemy nasz CDROM. Katalog ten musi istnieć przed wydaniem polecenia mount. Katalog /mnt jest typowym miejscem montowania. W komputerze wyposażonym w dwa kanały IDE - /dev/hdc odpowiada urządzeniu Master w drugim kanale IDE i odpowiednio: /dev/hda, Master w pierwszym kanale IDE; /dev/hdb, Slave w pierwszym kanale IDE; /dev/hdd, Slave w drugim kanale IDE. Korzystając z cd i ls możemy zajrzeć do katalogu /mnt/cdrom. Zamontowanie możemy również sprawdzić za pomocą polecenia df: Przejdźmy do katalogu /mnt/cdrom i spróbujmy zdemontować CD-ROM: Nie udało się (możemy sprawdzić poleceniem df), ale wiadomo dlaczego. Przejdźmy do katalogu głównego i jeszcze raz spróbujmy zdemontować: Teraz możemy sprawdzić za pomocą polecenia df, że płytka została zdemontowana. Do montowania można użyć również skrócone polecenie: mount /mnt/cdrom. Taka składnia jest możliwa dzięki temu, że dodatkowe informacje (typ systemu plików, urządzenie) są określone w pliku /etc/fstab, który został domyślnie skonfigurowany przez autora dystrybucji.