Ć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.

Podobne dokumenty