Ćwiczenie 1 Utwórz na pulpicie katalog: pierwsza-litera-imienia_nazwisko (np. j_kowalski). W tym katalogu zapisz pliki, które będą tworzone w ramach ćwiczenia 1. Wykorzystując odpowiednie polecenie zapisz nazwę obecnego uŝytkownika oraz grup, do których naleŝy do pliku uŝytkownik.txt 2. Zapisz listę katalogów znajdujących się w katalogu domowym uŝytkownika do pliku katalogi_uzytkownika.txt 3. Sprawdź ile przestrzeni dyskowej zajmują poszczególne katalogi (te, które znajdują się w katalogu domowym uŝytkownika) i wynik dopisz do powyŝszego pliku 4. Zapisz zawartość pomocy dla polecenia ls do pliku o nazwie pomoc_ls.txt 5. Zapisz listę katalogów, które znajdują się w katalogu głównym / do pliku kat_glowny.txt. Następnie w dowolnym edytorze opisz ogólnie co znajduje się w trzech wybranych katalogach 6. Zmień uprawnienia wszystkich utworzonych plików tak aby właściciel miał pełne uprawnienia (odczyt, zapis, wykonanie) a grupa i inni uŝytkownicy tylko uprawnienia do odczytu i wykonania 7. Spakuj katalog utworzony na początku (wraz z zawartością) i wyślij na adres: 1
Dowiązania symboliczne i sztywne Plik wskazujący na inny plik lub katalog (alias pliku lub katalogu) Tworzenie dowiązań symbolicznych ln s [nazwa katalogu lub pliku] [nazwa_dowiązania], np. ln s /home/student/pulpit pulpit Dowiązanie sztywne to dodatkowa nazwa pliku 2
Zawartość katalogu /etc /etc katalog zawierający większość plików konfiguracyjnych, m.in.. fstab systemy plików group zarządzanie uŝytkownikami shadow zarządzanie uŝytkownikami passwd zarządzanie uŝytkownikami init.d zarządzanie rozruchem systemu Inittab zarządzanie rozruchem systemu ld.so.cache biblioteki systemowe ld.so.conf - biblioteki systemowe rc*.d zarządzanie rozruchem systemu 3
Procesy ps lista procesów uruchomionych przez danego uŝytkownika ps ax lista wszystkich procesów działających w systemie PID identyfikator procesu STAT status procesy TIME ilość czasu procesora zuŝyta przez dany proces COMMAND treść polecenia kill [pid] wysłanie polecenia do procesu. Domyślnie wysyła sygnał term TERM który kończy działanie procesu. Inne to: kill STOP [pid] uśpienie danego procesu kill CONT [pid] wznowienie procesu pstree lista procesów 4
Zarządzanie procesami (1) ps wypisuje informacje o procesach działających w systemie top wypisuje informacje o aktualnym stanie systemu, dane aktualizowane są co sekundę. Podczas działania programu moŝna wydawać mu róŝne polecenia: spacja natychmiastowe M sortowanie procesów pod względem zajętej pamięci T sortowanie procesów pod względem sumarycznego zuŝycia czasu procesora P sortowanie procesów pod względem aktualnego zuŝycia czasu procesora U wyświetla tylko dane dla procesów uŝytkownika? wyświetla informacje o wszystkich poleceniach programu top Polecenie top dostarcza informacji: PID identyfikator procesu PR priorytet (-20 do 19; -20 najwyŝszy priorytet) NI wartość dodawana do priorytetu podczas szeregowania. Do jej zmiany słuŝy polecenie renice, np. renice 19 PID 5
Zarządzanie procesami (2) time słuŝy do obliczania ile czasu procesora zajął dany proces podczas całego działania (np.. time ls) Program podaje informacje o czasie: UŜytkownika (user tima) liczba sekund przez jaką procesor przetwarzał kod samego programu Systemu (system time) liczba sekund przez jaką jądro wykonywało zlecenia procesu Działania (elapsed time) całkowity czas jaki upłynął od momentu uruchomienia do momentu zakończenia Uptime podaje średnie obciąŝenie z ostatniej minuty, 5 minut, i 100 minut 6
Zarządzanie procesami (2) lsof program, który wypisuje listę otwartych plików wraz z procesami korzystającymi z tych plików. Informacje podane w poszczególnych polach: COMMAND nazwa polecenia, którego proces otworzył dany plik PID identyfikator procesu USER nazwa uŝytkownika, który uruchomił proces FD opis pliku (file descriptor) albo powód otwarcia pliku (np. cwd current working directory) TYPE - typ pliku DEVICE główny i poboczny numer urządzenia przechowującego dany plik SIZE rozmiar pliku NODE numer węzła NAME nazwa pliku lsof /usr pliki otwarte w konkretnym katalogu lsof p PID pliki otwarte przez proces o podanym identyfikatorze 7
Uruchamiania systemu Linux Program rozruchowy (np. GRUB) wyszukuje na dysku obraz jądra, a następnie ładuje go do pamięci i uruchamia Jądro inicjalizuje urządzenia oraz montuje system plików partycji podstawowej Jądro uruchamia program init Program init uruchamia pozostałe procesy, pozwalają m.in. na zalogowanie uŝytkowników 8
Program init Znajduje się w katalogu /sbin Jego zadaniem jest uruchamiania i zatrzymywanie innych programów w określonej kolejności Poziom uruchomienia (runlevel) informacje na temat domyślnego poziomu uruchomienia znaleźć moŝna w pliku /etc/inittab. W wierszu, w którym znajduje się zapis initdefault Akcje podejmowane przez program init: Respawn [polecenie] uruchomienie konkretnego polecenia, oraz kolejne uruchomienie po zakończeniu polecenia Sysinit określa pierwsze polecenie uruchamiane przez program init Kontrolowanie programu init polecenie telinit Np. telinit 6 spowoduje przełączenie systemu na 6 poziom Shutdown h now natychmiastowe wyłączenie systemu Shutdown r now natychmiastowy restart systemu Zamiast now uŝyć moŝna +[liczba], liczba określa w minutach czas restartu lub wyłączenia 9
Zarządzanie uŝytkownikami Plik /etc/sudoers zawiera informacje o uŝytkownikach, którzy mają uprawnienia administratora Do edycji pliku moŝna skorzystać z polecenia visudo User_Alias ADMIN = uzytkownika. uzytkownikb ADMIN ALL = NOPASSWD: ALL Root ALL=(ALL) ALL 10
Zarządzanie uŝytkownikami plik passwd (1) W pliku /etc/passwd znajdują się nazwy uŝytkowników oraz ich identyfikatory KaŜdy uŝytkownik opisany jest w jednym wierszu, przy pomocy siedmiu wartości oddzielonych dwukropkami, w kolejności są to: Nazwa uŝytkownika Hasło uŝytkownika x oznacza, Ŝe zaszyfrowane hasło uŝytkownika znajduje się w pliku shadow * - dany uŝytkownik nie moŝe zalogować się do systemu Puste pole :: dany uŝytkownik moŝe zostać zalogowany bez podania hasła Identyfikator uŝytkownika (UID user ID) numer uŝytkownika w jądrze Identyfikator grupy (GID group ID) numer podstawowej grupy uŝytkownika Prawdziwa nazwa uŝytkownika (GECOS) Katalog domowy Domyślna powłoka uŝytkownika 11
Zarządzanie uŝytkownikami plik passwd (2) Poza zwykłymi uŝytkownikami w pliku znajdują się równieŝ zapisy dotyczące uŝytkowników specjalnych: root superuŝytkownika, UID i GID = 0 PseudouŜytkownicy (np.. bic, sys, deamon, nobody) nie mają oni moŝliwości do logowania się w systemie, natomiast sam system moŝe uruchamiać niektóre procesy jako działające z ich identyfikatorami Modyfikacja zawartości pliku moŝliwa jest poprzez uŝycie polecenia passwd Passwd domyślnie pozwala na zmianę hasła uŝytkownika -f modyfikacja rzeczywistej nazwy uŝytkownika (odpowiednik polecenia chfn) -s zmiana domyślnej powłoki (odpowiednik polecenia chsh) Root moŝe zmieniać plik passwd przy pomocy dowolnego edytora Dodanie uŝytkownika następuje poprzez dopisanie do pliku nowego wiersza z odpowiednimi danymi i utworzenie katalogu domowego uŝytkownika 12
Zarządzanie grupami plik group (1) W pliku /etc/group znajdują się informacje o grupach KaŜda grupa opisana jest przy pomocy czterech pól: Nazwa grupy Hasło grupy Identyfikator drupy (GID) Lista uŝytkowników poza wymienionymi w tym miejscu, do danej grupy naleŝą takŝe ci uŝytkownicy, którzy mają wpisany numery grupy w swoim wierszu w pliku /etc/passwd Polecenie groups pozwala na uzyskanie informacji do jakich grup naleŝy aktualny uŝytkownik 13
Planowanie zadań (1) Do planowania powtarzalnych zadań słuŝy program cron UmoŜliwia on powtarzalne uruchamianie programów (zadań) zgodnie z ustalonym schematem Schemat zadań znajduje się w pliku crontab, np.: 24 11 1.10.20 * * /home/student/pulpit/start Kolejne pola oznaczają: Minuty (0-59) Godziny (0-23) Dzień miesiąca (1-31) Miesiąc (1-12) Dzień tygodnia (0-7) 0 i 7 oznaczają niedzielę Nazwa programu wraz z lokalizacją * oznacza wszystkie moŝliwe wartości w danym polu, np. wszystkie miesiące Podanie więcej niŝ jednej wartości w danym polu przez rodzielenie. KaŜdy uŝytkownik moŝe mieć swój własny program crontab zazwyczaj w katalogu /var/spool/cron/crontab Crontab e Systemowe pliki crontab znajdują się w pliku /etc/crontab lub /etc/cron.d 14
Planowanie zadań (2) Do planowania jednorazowych zadań wykorzystywany jest program at, np.: at 9:00 05.11.2009 [nazwa polecenia lub poleceń] atq przejrzenie listy zaplanowanych zadań atrm usunięcie zaplanowanego zadania 15