1. Zarządzanie kontami użytkowników
a) konta użytkowników
· zakładanie nowego konta użytkownika
- linuxconf – Users -> User accounts
- komendy: useradd, usermod, userdel
· zakładanie nowej grupy użytkowników
- linuxconf – Users -> Group definitions
- komendy: groupadd, groupmod, groupdel
· omówienie zagadnień związanych z bezpieczeństwem konta
- linuxconf – Password & Account policies
· zapoznanie się z odpowiednimi plikami konfiguracyjnymi
- /etc/passwd
- /etc/group
· katalog domowy użytkownika
- plik .profile (dla powłoki bash - .bash_profile) – osobiste ustawienia
· zmiana hasła użytkownika
- polecenie
passwd
2. Zastosowanie powłoki
a) zapoznanie się z typami powłok rozprowadzanymi z systemem Linux Mandrake
· bash - powłoka Bourne Again
· sh - dowiązanie symboliczne do powłoki bash
· ash - niewielki interpreter poleceń (podobny do powłoki sh)
· bsh - dowiązanie symboliczne do powłoki ash
· csh - powłoka C, dowiązanie symboliczne do tcsh
· tcsh - powłoka kompatybilna z csh
· zsh - powłoka kompatybilna z csh, ksh i sh
b) wprowadzenie do programowania w języku powłoki
· tworzenie i uruchamianie skryptów
c)
Ćwiczenia
·
napisać skrypt, który
wyświetli wszystkie pliki i katalogi z domowego katalogu (zastosuj następujący
format: długa lista wraz z plikami ukrytymi) i zapisze te informacje w pliku
lista.txt
·
napisz skrypt który
utworzy katalog wynik, skopiuje plik lista.txt do tego katalogu i posortuje
informacje w nim zawarte a następnie zapisze posortowany plik do nowego pliku o
nazwie lista_sort.txt
·
napisz skrypt, który
wyszuka w katalogu domowym wszystkie pliki txt i zapisze wynik swojego
działania w pliku o nazwie lista_pliki.txt, wyświetli jego zawartość na
ekranie, a następnie przeniesie wszystkie pliki txt do nowo utworzonego
katalogu pliki_txt
3.
Procesy -uruchamianie, zarządzanie
i zatrzymywanie
a)
uruchamianie procesów
·
$ polecenie – uruchomienie procesu
pierwszoplanowego (np.: $ sleep 120)
·
$ polecenie & - uruchomienie procesu w
tle
b)
wyświetlanie stanu procesów
·
komenda ps
– wyświetlenie stanu procesów
PID – numer identyfikacyjny procesu
TTY- nazwa terminala sterującego
procesem
TIME- sumaryczny czas wykonywania
procesu przez procesor
CMD – nazwa procesu (wywołanego
polecenia)
$ ps [opcja] – zapoznać
się z różnymi opcjami komendy ps (man ps, ps –help)
c)
zarządzanie procesami
·
komendy:
-
$ jobs
[opcje] – wyświetla informacje o procesach uruchomionych w tle
-
$ fg $n- przenosi
proces o numerze n z tła do pierwszego planu
-
CTRL+Z –
zatrzymuje proces pierwszoplanowy
-
$ bg – przenosi
zatrzymany proces pierwszoplanowy przez CTRL+Z na drugi plan
-
$ nice [-n]
polecenie [argumenty]- uruchomienie procesu z niższym o n
priorytetem
d)
zatrzymywanie procesów
·
komendy
-
CTRL+C – przerywa
proces pierwszoplanowy
-
kill [numer
sygnału] PID – zamyka i usuwa proces z systemu
$ kill –l – lista numerów sygnałów
e)
cykliczne uruchamianie procesów
·
komendy
-
$ sleep time – zawiesza
wykonanie procesu na określoną jako parametr time liczbę sekund
-
$ at [opcje] – służy do
jednorazowego uruchamiania procesu o określonej porze, polecenie $at –l
pokazuje wszystkie zadania do wykonania, polecenie at –r usuwa zadania (patrz
man batch)
-
$ atq – wypisuje
zadania zlecone przez at (patrz man batch)
-
$ atrm – usuwa z
kolejki zadania zlecone przez at (patrz man batch)
-
$ batch – wykonuje
polecenia w późniejszym czasie jedno po drugim (patrz man batch)
-
$ crontab
[filename] – służy do okresowego uruchamiania procesów z zastosowaniem
tablicy crona (patrz man crontab),
w
przykładowy pliki crontab
minuty (0-59)
godziny (0-23)
dzień miesiąca (1-31)
miesiąc roku (1-12)
dzień tygodnia (0-6), gdzie 0 to niedziela
* oznacza wszystko
12 10 * * 1-5 ls –l >/dev/pts/3
0,15,30,45 * * * * cp /home/student/* /home/student/archiwum
w
$crontab –l wyświetla
aktualną tablicę crontab
w
$ crontab –r usuwa
aktualną tablicę crontab
f)
Ćwiczenia
·
uruchomić kilka procesów pierwszoplanowych w
tle, sprawdzić stan procesów korzystając z poleceń
-
ps, ps –a, ps –ef | more, ps –al | more
·
sprawdzić działanie poleceń
-
ps –u nazwa_użytkownika
-
ps –ef | grep nazwa_użytkownika
·
co realizuje następujące polecenie
-
ps | sort -nr | grep -v "PID"
·
uruchomić kilka procesów oraz usunąć je
poprzez normalne zakończenie programu oraz przez zabicie poleceniem kill
·
sprawdź, czy posiadasz uprawnienia do
wykonywania polecenia at wydając polecenie
-
$ at now + 1 min </dev/null
·
porównaj działanie poleceń:
-
$ at now + 1 min
at>ls –la > /dev/pts/nr_term
at>CTRL+D
UWAGA! (komenda tty wyświetla numer terminala na którym pracujesz)
-
$ at now + 1 min
at>ls –la
at>CTRL+D
·
zapoznaj się z zasadami tworzenia tablicy
crontab, utwórz dowolną tablicę i sprawdź poprawność jej działania
·
utwórz tablicę crontab, która będzie
uruchamiała wybrane polecenie co godzinę od poniedziałku do piątku w godzinach
od 8 do 15
4. Monitorowanie systemu
a) programy do monitorowania systemu
·
top
- opis parametrów
w up: czas pracy systemu wraz z trzema średnimi wartościami jego obciążenia (średnie liczby procesów gotowych do pracy podczas 1, 5, 15 min.)
w processes: całkowita liczba działających procesów
w CPU states: procenty czasu procesora poświęcone na tryb użytkownika, tryb systemu, zadania ograniczone przez nice i bezczynność.
w Mem: statystyki dotyczące zużycia pamięci fizycznej
w Swap: statystyki dotyczące pamięci swap
w PID: identyfikator procesu każdego zadania
w USER: nazwa użytkownika, który jest właścicielem zadania
w PRI: priorytet zadania
w NI: wartość nice zadania
w SIZE: wielkość kodu zadania plus dane i miejsce na stosie w KB
w RSS: całkowita wielkość pamięci fizycznej w KB używanej przez to zadanie
w SHARE: wielkość pamięci współdzielonej użytej przez zadanie
w STATE: stan zadania
w TIME: całkowity czas procesora zajęty przez zadanie od momentu jego uruchomienia
w %CPU: udział zadania w czasie procesora wyrażony w procencie całkowitego czasu procesora
w %MEM: udział zadania w zajęciu pamięci fizycznej
w COMMAND: nazwa polecenia, zadania
·
vmstat
- składnia polecenia
w vmstst przerwa [licznik]
- opis parametrów
- memory: dane dotyczące aktualnego stanu pamięci operacyjnej
w swpd: wielkość używanej pamięci typu swap (KB)
w free: wielkość pamięci operacyjnej aktualnie nie używanej (KB)
w buff: wielkość pamięci operacyjnej przeznaczonej na bufory (KB)
w cache: wielkość wolnej pamięci podręcznej (KB)
- swap: dane dotyczące aktualnego stanu pamięci swap
w si: ilość danych pobieranych z pamięci swap do pamięci operacyjnej w trakcie 1 sek (KB/s)
w so: ilość danych przerzucanych z pamięci operacyjnej do swap (KB/s)
- io: dane związane z wymianą bloków danych z urządzeniami wejścia/wyjścia
w bi: liczba bloków danych wysyłanych do urządzenia blokowego (bloki/s)
w bo: liczba bloków pobranych z urządzenia blokowego (bloki/s)
w cs: liczba zmian kontekstu na sek
- cpu: dane związane z obciążeniem procesora
w us: procent cykli procesora zużytych na wykonanie zadań użytkowników
w sy: procent cykli procesora zużytych na zadania systemu
w id: procent niewykorzystanych cykli procesora
· free: pokazuje wielkość wolnej i zajętej pamięci
b) monitorowanie sieci
· netstat: informacje o stanie sieci
- $ netstat [opcje]
· route: przeglądanie tablicy routowania
- $ route [adres_komputera]
· ifconfig: konfiguracja interfejsów sieciowych
- $ ifconfig [opcje]
· traceroute: narzędzie do diagnozowania problemów z sieciami TCP/IP
- $ traceroute [adres_komputera]
c) zapoznanie się z logami systemu
· przeglądanie plików z katalogu /var/log/ - syslog, messages, boot.log itd
d) zastosowanie programu linuxconf do monitorowania systemu i śledzenia plików log
e) zastosowanie narzędzi X Windows do monitorowania systemu i śledzenia plików log
5. Archiwizacja danych
a) podłączanie wymiennych dysków – komenda mount, umount
· katalog z urządzeniami /dev
· katalog /mnt
· montowanie cdrom-u
· montowanie dyskietki
b) tworzenie archiwów na dysku
· archiwa tar
· archiwa gzip
c) kopiowanie archiwów na wymienne dyski
· kopiowanie archiwów na dyskietkę 1.44 MB
· tworzenie archiwów bezpośrednio na dyskietce
d)
Ćwiczenia
·
za pomocą polecenia
tar utwórz archiwum o nazwie archiwum.tar zawierające wszystkie pliki i
katalogi znajdujące się w Twoim katalogu domowym
·
wyświetl zawartość
utworzonego archiwum na ekranie
·
sprawdź wielkość
utworzonego archiwum i porównaj go z całkowitym rozmiarem wszystkich plików
znajdujących się w Twoim katalogu domowym
·
utwórz katalog o
nazwie archiwum i rozpakuj w nim utworzone wcześniej archiwum.tar
·
wykonaj to samo ćwiczenie
używając komendy gzip
·
utwórz archiwum bezpośrednio
na dyskietce o nazwie imie_nazwisko.tar zawierające wszystkie pliki txt