78
Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX/Solaris

Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

Embed Size (px)

Citation preview

Page 1: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

Akademia Oracle – Kariera Inżyniera

Systemy operacyjne UNIX/Solaris

Page 2: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

2 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Spis treści Moduł 1: Wprowadzenie do systemu UNIX .............................................................................. 4

Interpretator poleceń .............................................................................................................. 4

Wybrane podstawowe polecenia ............................................................................................ 5

Logowanie się użytkownika w systemie ................................................................................ 7

Podstawowe powłoki .............................................................................................................. 9

Zadania do samodzielnego rozwiązania ............................................................................... 11

Moduł 2: Podstawowe operacje na plikach i katalogach ......................................................... 15

Wprowadzenie do struktury katalogów w Solaris 10 OS .................................................... 15

Wprowadzenie do podkatalogów ......................................................................................... 16

Komponenty plików ............................................................................................................. 18

Systemy plików .................................................................................................................... 19

Typy plików ......................................................................................................................... 20

Twarde linki (dowiązania twarde) ........................................................................................ 22

Zadania do samodzielnego rozwiązania ............................................................................... 22

Moduł 3: Prawa dostępu ........................................................................................................... 25

Polecenia: chmod, umask, chown, chgrp ............................................................................. 25

Zakładanie i przeglądanie plików tekstowych ..................................................................... 29

Listy ACL ............................................................................................................................. 30

Zadania do samodzielnego rozwiązania ............................................................................... 30

Moduł 4: Strumienie, potoki, sterowanie procesami ................................................................ 36

Strumienie i potoki ............................................................................................................... 36

Sterowanie procesami .......................................................................................................... 37

Sterowanie zadaniami przez używaną powłokę (procesy pierwszo i drugoplanowe) ......... 40

Wstrzymywanie procesów ................................................................................................... 41

Monitorowanie procesów ..................................................................................................... 42

Zadania do samodzielnego rozwiązania ............................................................................... 45

Moduł 5: Wybrane programy użytkowe – Edytor Vi .............................................................. 51

Wprowadzanie tekstu ........................................................................................................... 53

Poruszanie się w pliku .......................................................................................................... 53

Wstawianie innych plików ................................................................................................... 54

Przeszukiwanie i podmienianie ............................................................................................ 55

Zapisywanie plików ............................................................................................................. 57

Page 3: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

3 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Zadania do samodzielnego rozwiązania ............................................................................... 58

Moduł 6: Administrowanie użytkownikami ............................................................................ 62

Użytkownicy ........................................................................................................................ 62

Dodawanie użytkowników ................................................................................................... 63

Modyfikowanie użytkowników ............................................................................................ 67

Usuwanie użytkowników ..................................................................................................... 69

Dodawanie grup ................................................................................................................... 70

Modyfikowanie grup ............................................................................................................ 72

Usuwanie grup ...................................................................................................................... 73

Zarządzanie hasłami ............................................................................................................. 74

Zadania do samodzielnego rozwiązania ............................................................................... 75

Page 4: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

4 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Moduł 1: Wprowadzenie do systemu UNIX

Interpretator poleceń

Interpreter poleceń użytkownika, czyli inaczej powłoka. Powłoka pośredniczy

pomiędzy użytkownikiem a jadrem. Kiedy użytkownik rozpoczyna prace (loguje sie do

sytemu podając poprawny identyfikator konta i hasło) system operacyjny uruchamia program

powłoki, który pobiera polecenia do wykonania z klawiatury terminala użytkownika.

W systemie UNIX istnieje wiele rożnych powłok (np. sh, ksh, zsh, csh itd.).

Administrator przydziela każdemu użytkownikowi jego powłokę standardowa (uruchamiana

w chwili logowania sie do systemu); użytkownik może tez uruchomić dowolna powłokę

zainstalowana w systemie.

Shell interpretuje pierwsze słowo w wierszu polecenia, jako nazwę polecenia.

$ ls -l plik? "test?"

1. Shell wczytuje polecenie do wewnętrznego bufora.

ls -l plik? "test?"

Polecenie jest dzielone na części nazywane słowami. Shell określa znaczenie każdego słowa.

Rysunek 1. Podział polecenia

Shell szuka i przetwarza znaki specjalne.

Rysunek 2. Interpretacja poszczególnych elementów polecenia

Page 5: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

5 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

W wyniku dokonanych przekształceń Shell zleca wykonanie polecenia o postaci:

ls -l plik1 plik2 plik3 test?

Shell "usypia" i czeka na zakończenie wykonywania polecenia.

Po zakończeniu wykonywania polecenia zgłasza gotowość przyjęcia nowego polecenia.

Wybrane podstawowe polecenia

Identyfikacja użytkownika

Konta użytkowników

• Każdy użytkownik systemu ma swój identyfikator (login id), za pomocą którego

wchodzi do systemu.

• Pełna informacja o użytkowniku obejmuje:

Rysunek 3. Pełne informacje o użytkowniku

Tabela 1. Opis poszczególnych elementów

Nazwa Opis

Identyfikator użytkownika (ang. login ID) - używany przy rozpoczynaniu pracy

Hasło (ang. password) - jest zakodowane

Numer użytkownika (ang. user identifier) - liczbowy identyfikator użytkownika w

systemie

Numer grupy użytkownika (ang. group identifier) - użytkownicy systemu podzieleni są

na grupy; grupa może mieć

podobne prawa dostępu do plików

Informacja o osobie dowolny tekst komentarza

Katalog domowy (ang. home directory) - w tym katalogu użytkownik znajdzie

się po rozpoczęciu sesji (pełna ścieżka)

Shell ten shell zostanie wywołany po rozpoczęciu sesji

Page 6: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

6 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Sprawdzanie informacji o użytkowniku

$ id

uid=5214(agata) gid=11(users)

$ finger agata

Login name: agata In real life: Agata Kowalska

Directory: /home/agata Shell: /bin/ksh

Last login: Thu Mar 11 13:42 on ttyp2.

$ who am i

agata ttyp3 Mar 13 18:34

Kto pracuje w systemie -polecenie who

Składnia:

who [am i] Informacja o użytkownikach prowadzących sesję

Przykład:

Rysunek 4. Wykonanie polecenia

Page 7: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

7 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Logowanie się użytkownika w systemie

Po uruchomieniu systemu, pojawia nam się okno wyboru systemu.

Rysunek 5. Okno wyboru systemu

Po wybraniu pierwszej pozycji, po chwili przechodzimy do okna logowania. W pierwszym

kroku wpisujemy nazwę użytkownika, a następnie przypisane mu hasło.

Rysunek 6. Logowanie

Dodatkowymi opcjami w okienku logowania jest wyświetlenie okna pomocy, w którym

opisane są wszystkie opcje okna logowania.

Page 8: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

8 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 7. Okno pomocy

Dostępne opcje przedstawia poniższy rysunek

Rysunek 8. Ustawienia logowania

Pierwsza opcja dotyczy zmiany języka. Następna opcja Session służy do wybrania

preferowanego pulpitu użytkownika. Dostępne są tutaj:

Common Deskop Environment – dla CDE;

Java Deskop System – dla JDS;

User’s Last Deskop – ustawienia z poprzedniej sesji;

Page 9: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

9 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

FailSafe Session – dla okna terminala.

Kolejne opcje to Command Line Login służąca do przełączenia do środowiska tekstowego

wiersza poleceń, oraz Reset Login Screen – ponowne uruchomienie serwera i okna

logowania.

Podstawowe powłoki

Powłoka (ang. shell) jest interfejsem między użytkownikiem a systemem

operacyjnym. Jej podstawową funkcją jest interpretacja i wykonanie poleceń użytkownika. W

celu ułatwienia wprowadzania często powtarzających się ciągów poleceń dla systemu

operacyjnego powłoka udostępnia język programowania poleceń użytkownika (będzie on

dalej nazywany językiem powłoki).

Jest to program, który pośredniczy między jądrem systemu (kernel), systemem plików

(file system) i programami usługowymi (utilities).

Rysunek 9. Powłoki - objaśnienie

Powłoka Korna

Powłoka Bourne’a

Jądro

Powłoka C

Jądro

Rysunek 10. Rozkład powłok w systemie UNIX

Podstawowe funkcje shella

• Przekazywanie sterowania do programu wybranego poleceniem użytkownika

• Wykonywanie wbudowanych poleceń

• Dostarczenie języka do pisania skryptów

Page 10: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

10 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

• Ustawianie środowiska pracy

• Przywoływanie i edycja uprzednio wydanych poleceń

• Przeadresowywanie wejścia - wyjścia poleceń

• Generowanie nazw plików

• Umożliwienie łączenia poleceń w potok

• Umożliwienie przetwarzania w drugim planie (nie interakcyjnie)

Wszystkie dostępne powłoki:

/usr/bin/sh powłoka Bourne’a, standardowa powłoka systemu UNIX

/usr/bin/csh powłoka C, podobna do powłoki Bourne’a, lecz dodatkowo zawiera

rejestr wydawanych komend oraz wygodny sposób ponownego wydawania tych

samych komend.

/usr/bin/ksh powłoka Korna, łączy właściwości powłok Bourne’a i C.

/usr/xpg4/bin/sh powłoka POSIX (Single Unix Specification), podobny do Korn

Shell.a.

/usr/bin/bash Bourne Again

/usr/bin/tcsh TENEX C

/usr/bin/zsh

Dokumentacja powłok

man sh (1)

man ksh (1)

man csh (1)

http://docs.sun.com

http://www.opengroup.org

Najczęściej stosowanymi powłokami w różnych implementacjach systemu UNIX są:

powłoka Bourne'a (sh)

powłoka Korna (ksh)

powłoka C (csh)

Powłoka Korna

czyta jedna linie

dzieli dane na tokeny: słowa i operatory

dzieli dane na polecenia proste i złożone

określa kategorie gramatyczne tokenów

wykonuje podstawienia, oddzielnie na każdym słowie

Page 11: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

11 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

traktuje otrzymane dane, jako listę pól: nazwę polecenia i argumenty

wykonuje przekierowania we/wy i usuwa je z listy pól

przekazując argumenty wykonuje

funkcje

polecenia wbudowane

programy z plików wykonywalnych

skrypty

opcjonalnie czeka na zakończenie wykonywania i odbiera status wyjściowy

Powłoka C (csh)

Jest jedną z systemowych powłok uniksowych. Została stworzona przez Billa Joya dla

systemu BSD. Nazwa C shell jest grą słów: dosłownie oznacza powłokę języka C,fonetycznie

da się to jednak odczytać sea shell, czyli muszelka.

Powłoka ta pochodzi od /bin/sh. Składnia języka zastosowanego w powłoce jest

bazowana na języku C. Powłoka C shell wniosła wiele ulepszeń w stosunku do sh, takich jak

m.in. aliasy i historia komend. Obecnie csh nie jest zbyt często wykorzystywana

Powłoka ksh

Ksh. Korn Shell-Stworzona przez Davida Korna z AT& t Bell Labs. Kompatybilna z

powłoką sh. Zawiera elementy powłoki csh, oraz kilka innych funkcji:Ksh (shell scripting);

ksh-powłoka systemowa· ksh-strona projektu. Awk; awk-jezyk przetwarzania wzorców. Sed;

sed-edytor strumieniowy, prosty język. 3)

Zadania do samodzielnego rozwiązania

Podstawy użytkowania systemu

1. Spróbuj rozpocząć pracę w systemie Unix celowo robiąc błędy:

• wpisz nieprawidłowy identyfikator (nazwę) użytkownika

• wpisz nieprawidłowe hasło

• użyj dużej litery w identyfikatorze

• wpisz wszystko prawidłowo

Page 12: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

12 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 11. Logowanie na konto root

2. Zakończ pracę za pomocą polecenia exit. W jaki sposób poznasz, że zakończyłeś sesję?

logout

3. Rozpocznij nową sesję. Na jakim komputerze i z jakim systemem operacyjnym pracujesz?

who

4. Zmień hasło. Pamiętaj o wymaganiach, które musi spełniać.

Rysunek 12. Zmiana hasła

Wybrane podstawowe polecenia

1. Sprawdź jaki masz identyfikator liczbowy i do jakiej grupy należysz?

Rysunek 13. Polecenie id

2. Sprawdź ilu użytkowników aktualnie pracuje w systemie.

Rysunek 14. Polecenie who

3. Użyj polecenia finger, aby uzyskać informacje o użytkowniku user.

Page 13: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

13 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 15. Wynik polecenia finger user

Powłoki systemowe

1. Sprawdź typ powłoki w której pracujesz.

Rysunek 16. Sprawdzanie powłoki trzema sposobami

Page 14: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

14 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

2. Uruchom powłokę przeciwną do tej, w której pracujesz.

a. /usr/bin/csh shell C

b. /usr/old/bin/sh shell Bourne’a

c. /usr/bin/ksh shell Korna

d. /usr/bin/sh shell Posix

Rysunek 17. Zmiana powłoki

Page 15: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

15 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Moduł 2: Podstawowe operacje na plikach i katalogach

Wprowadzenie do struktury katalogów w Solaris 10 OS

Katalog jest specjalnym rodzajem pliku, w którym jest zapisana informacja o innych

plikach (i/lub katalogach). Pozwala to utworzyć hierarchiczna, przypominająca drzewo,

strukturę katalogów z umieszczonymi w katalogach plikami.

Użytkownik wraz z kontem otrzymuje swój prywatny katalog (ang. HOME directory),

gdzie ma wszystkie prawa (może tworzyć, modyfikować i usuwać pliki/katalogi).

W chwili zalogowania sie do systemu prywatny katalog użytkownika staje sie katalogiem

roboczym (nazywanym także katalogiem aktualnym lub bieżącym - ang. working or current

directory). Katalog roboczy można zmienić przy użyciu komendy cd.

System plików UNIX’a jest hierarchiczną strukturą drzewa, rozpoczynającą się od

specjalnego katalogu szczytowego poziomu zwanego korzeniem (root) oraz oznaczanego ‘/’.

Każdy katalog może mieć wiele katalogów potomnych, ale tylko jeden katalog macierzysty.

Poniżej przedstawiono część typowej struktury drzewa katalogów dla systemu Unix,

natomiast na kolejnym obrazku widać przedstawioną pełną strukturę katalogów S.O. Solaris

10.

Rysunek 18.Część typowego drzewa struktury katalogów UNIX-a

Poniżej przedstawiono typowy układ katalogów systemu UNIX.

Tabela 2. Układ katalogów UNIX

Katalog Opis

/bin

/usr/bin

Komendy dla użytkowników

/etc

/usr/etc

/sbin

/usr/sbin

Pliki systemowe i konfiguracyjne, programy systemowe i narzędzia dla

administratora

/dev Pliki specjalne reprezentujące urządzenia

/tmp

/usr/tmp

Katalog na pliki tymczasowe

/lib

/usr/lib

Biblioteki, pliki nagłówkowe

/lost+found Pliki odzyskane podczas sprawdzania spójności systemu plików (brak na

powyższym obrazku, czynność nie była wykonywana)

Page 16: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

16 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

/usr/local Dodatkowe oprogramowanie zainstalowane w systemie

/var Zmieniające sie pliki systemowe (logi, kolejki itp.)

/home Prywatne katalogi użytkowników

/mnt Montowanie napędów, takich jak dyski wirtualne czy też CD-ROMy i

napędy dyskietek

/proc Wirtualny katalog zawierający wirtualne pliki z informacjami o stanie

systemu i komputera

/boot Zawiera m. in. informacje dla programu uruchamiającego jądro

/vol Punkty montowania nośników wymiennych

/system Systemowy

/platform Moduły specyficzne dla platformy

/net Montowanie NFS

/opt Aplikacje (UFS, NFS)

/kernel Moduły jądra

/devices Pliki specjalne urządzeń (SPECFS)

/export Katalogi eksportowane (UFS,NFS)

Wprowadzenie do podkatalogów

Katalog /etc

Katalog /etc zawiera mnóstwo plików, znajdują się tam pliki konfigurujące sieci.

Niektóre z elementów zawartych w katalogu zostały opisane poniżej.

Tabela 3. Zawartość podkatalogu /etc

Katalog Opis

/etc/rc?.d Skrypty, lub katalogi zawierające skrypty uruchamiane podczas startu

systemu i zmiany poziomu pracy.

/etc/passwd Baza użytkowników zawierająca: nazwę, prawdziwą nazwę, katalog

domowy, zakodowane hasło i inne informacje dla każdego z

użytkowników systemu.

/etc/fdprm Tabela parametrów pracy stacji dyskietek

/etc/fstab Lista systemów plików montowanych automatycznie za pomocą mount

–a.

/etc/group Plik podobny do /etc/passwd, zawiera opis grup.

/etc/inittab Plik konfigurujący pracę programu init.

/etc/issue Wyświetlany przez getty przed pytaniem o login.

/etc/shadow Plik haseł na niektórych systemach - często hasła są przeniesione z pliku

/etc/passwd do /etc/shadow.

/etc/securetty Zawiera listę bezpiecznych terminali - terminali, przez które może się

zalogować Root

/etc/shells Lista zaufanych powłok.

Katalog /dev

Page 17: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

17 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Katalog /dev zawiera pliki specjalne, które odpowiadają wszystkim urządzeniom. Nazwy

plików tworzone są według specjalnej konwencji. Pliki urządzeń tworzone są podczas

instalacji, później można je utworzyć za pomocą /dev/MAKEDEV, lub programu mknod.

Katalog /var

Zawiera pliki, które zmieniają się, np. wszelkie kolejki (poczty, newsów, drukarek, etc.),

logi, sformatowane pliki podręczne oraz pliki tymczasowe. Tradycyjnie wszystko, co znajduje

się w /var było umieszczane w /usr.

Tabela 4. Zawartość katalogu /var

Katalog Opis

/var/catman Sformatowane strony.

/var/lib Zmieniające się podczas pracy systemu pliki.

/var/local Zmieniające się dane programów zainstalowanych w /usr/local.

/var/lock Logi różnych programów, baza programu login

/var/log Plik podobny do /etc/passwd, zawiera opis grup.

/var/run Pliki, które zawierają informacje o systemie, które są aktualne podczas

jego działania.

/var/spool Katalog zawierający kolejki: poczty, drukowania i inne. Każda kolejka

posiada własny podkatalog wewnątrz /var/spodl.

/var/tmp Tymczasowe pliki, które są duże, lub mają istnieć przez dłuższy czas niż

byłoby to możliwe w katalogu /tmp.

Katalog /usr

System plików /usr jest zazwyczaj duży - większość programów znajduje się w jego

podkatalogach. Zazwyczaj wszystkie pliki w katalogu /usr przyszły wraz z daną dystrybucją,

programy instalowane ręcznie, z innych pakietów powinny być umieszczane w /usr/local.

Dzięki temu po aktualizacji, zmianie systemu nie musimy instalować (a przed tym np. ściągać

z sieci) dodatkowych programów. Niektóre z podkatalogów /usr opisane są poniżej.

Tabela 5. Zawartość katalogu /usr

Katalog Opis

/usr/X11R6 X Window System, wszystkie pliki.

/usr/X386 To samo, co /usr/X11R6.

/usr/bin Prawie wszystkie polecenia użytkownika. Niektóre polecenia znajdują

się w /bin i /usr/local/bin.

/usr/sbin Programy administratora, które nie muszą znajdować się na głównym

systemie plików, np. większość serwerów.

/usr/man

/usr/info

/usr/doc

Odpowiednio: strony podręcznika, dokumenty GNU Info i

dokumentacja w innych formatach.

Page 18: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

18 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

/usr/include Pliki nagłówkowe dla języka C. Aktualnie powinny być w /usr/lib,

jednak tradycja jest silniejsza.

/usr/lib Niezmieniające się dane, zależne od architektury, niekiedy pliki

konfiguracyjne programów.

/usr/local Miejsce składowania oprogramowania (i konfiguracji) zainstalowanego

niezależnie od dystrybucji

Katalog /proc

System plików /proc jest całkowicie wirtualny - nie istnieje na dysku. Jest tworzony i

utrzymywany przez jądro w pamięci. Używany jest w celu dostarczenia informacji o systemie

(oryginalnie o działających procesach, stąd nazwa). Ważniejsze pozycje omówione są

poniżej.

Tabela 6. Zawartość katalogu /proc

Katalog Opis

/proc/1 Katalog zawierający informacje o procesie numer 1 (init ma zawsze

ten numer). Każdy proces posiada własny podkatalog o nazwie

przedstawiającej identyfikator procesu.

/proc/cpuinfo Informacje o procesorze: model, wydajność, itp.

/proc/devices Lista sterowników urządzeń, które są aktualnie skonfigurowane i

działające.

/proc/dma Aktualnie używane kanały DMA.

/proc/file systems Systemy plików aktualnie skonfigurowane.

/proc/interrupts Lista przerwań aktualnie wykorzystywanych, oraz ilość przerwań,

które zostały kiedykolwiek obsłużone.

/proc/ioports Używane porty We/Wy.

/proc/korce Obraz fizycznej pamięci systemu. Posiada rozmiar równy rozmiarowi

zainstalowanej pamięci, jednak na dysku nie zajmuje ani bajta.

(Uwaga: wpisy w katalogu /proc nie zajmują miejsca, chyba, że je

skopiujesz w inne miejsce).

/proc/kusg Wiadomości wysyłane przez jądro. Są one również przesyłane do

sysloga.

/proc/stat Statystyki systemu, np. ilość błędów stron od czasu startu, itd.

/proc/uptime Okres pracy systemu.

/proc/version Wersja jądra.

Komponenty plików

Każdy element przechowywany w systemie plików UNIX’a jest jednego z czterech typów:

Page 19: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

19 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Tabela 7. Komponenty plików

Typ Opis

Zwykły plik Może zawierać tekst, dane lub informacje programu; nie

może zawierać innych plików lub katalogów. Nazwy

plików w UNIX’ie mogą zawierać dowolny znak

z wyjątkiem ‘/’ i mieć do 256 znaków długości (znaki ‘*’,

‘?’, ‘#’ i ‘&’ mogą mieć specjalne znaczenie dla powłoki

i nie należy ich używać w nazwach). Spacja w nazwie

powoduje niewygodę w korzystaniu, lepszy jest

podkreślnik ‘_’.

Katalog Zawiera pliki i inne katalogi.

Urządzenie Urządzenie jest traktowane przez UNIX’a jak plik, aby zapewnić

aplikacjom łatwość dostępu do niego. Są dwa rodzaje

urządzeń w UNIX’ie - blokowe, które wymieniają dane

w blokach (np. dysk twardy) i znakowe, które wymieniają

dane bajt po bajcie (np. modem).

Dowiązanie Wskazanie innego pliku. Są dwa rodzaje dowiązań.

Systemy plików

Systemy plików stosuje się dla różnych nośników danych, takich jak dyski, dyskietki,

a także w strumieniach danych, sieciach komputerowych, pamięciach. We współczesnych

systemach operacyjnych bezpośrednie operowanie na danych w plikach zarezerwowane jest

tylko dla systemu operacyjnego, aplikacje mają dostęp tylko do operacji na plikach i mają

zabroniony bezpośredni dostęp do nośnika danych.

Z formalnego punktu widzenia system plików to reguły umieszczania na nośniku

abstrakcyjnych danych oraz informacji umożliwiających przechowywanie tych danych, łatwy

i szybki dostęp do informacji o danych oraz do tych danych, manipulowania nimi, a także

sposobach usuwania ich.

W S.O. Unix wyróżniamy następujące typy:

dyskowe na HD, CD, DVD, flopy

Page 20: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

20 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Służą do przechowywania danych użytkownika, programów aplikacyjnych lub

systemowych; dla Unixa plik taki stanowi sekwencję bajtów i jest często nazywany

strumieniem (stream)

sieciowe NFS

pseudo (wirtualne) dostęp do informacji jadra

VFS abstrakcyjny model systemu plików (wspólny interfejs jadra do systemów

plików)

Dyskowe systemy plików

o UFS podstawowy dyskowy

o PCFS DOS, Windows (FAT)

o HSFS High Sierra (CD)

o ISO9660 oficjalny CD

o Rock Ridge rozszerzenie ISO9660 z właściwościami UFS

o UDF CD, DVD

o ZFS zettabyte file system, skalowalny

Wirtualne systemy plików

o CACHEFS dla poprawy wydajności CD i NFS

o DOORFS międzyprocesowe wołania funkcji (doors)

o FIFOFS potoki nazwane (kolejki FIFO)

o FDFS dostęp poprzez deskryptory plików

o LOFS dostęp poprzez alternatywna ścieżkę

o MNTFS plik /etc/mnttab

o PROCFS dostęp do aktywnych procesów (/proc)

o SOCKFS gniazda

o DEVFS (SPECFS) dostęp do urządzeń (/devices)

o SWAPFS obszar wymiany

o TMPFS pliki tymczasowe (/tmp, /var/run)

o CTFS Contract FS (/system/contract),

o śledzenie procesów tworzących usługę

o OBJFS Object FS, stan modułów aktualnie załadowanych przez jadro

Typy plików

Plik posiada następujące atrybuty:

• typ (type) - określa czy jest to plik (zwykły, specjalny) czy katalog

• prawa dostępu - określają, kto może czytać, pisać lub wykonywać (permission,

mode)

• liczbę dołączonych nazw (number of links)

Page 21: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

21 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

• informację o właścicielu i grupie (user login name, group name)

• rozmiar pliku (size) - w bajtach

• datę ostatniej modyfikacji (date & time of last modification)

• nazwę (filename)

Rysunek 19. Atrybuty pliku

Pierwszy znak opisu określa typ pliku:

Tabela 8. Atrybuty pliku

Oznaczenie Opis

d katalog (directory)

- zwykły plik (regular file)

l plik dowiązany symbolicznie (symbolically linked file)

c plik urządzenia znakowego (character device file)

b plik urządzenia blokowego (block device file)

p plik typu FIFO (named pipe)

Page 22: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

22 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Twarde linki (dowiązania twarde)

Jest to umieszczona w systemie plików referencja wskazująca na konkretny, istniejący

wcześniej i-węzeł w obrębie tej samej partycji. Dla systemu operacyjnego, dowiązanie takie

jest po prostu dodatkową nazwą dla wskazywanego obiektu – plik z n dowiązaniami ma n

nazw.

Aby obiekt w systemie plików został skasowany, muszą zostać usunięte wszystkie

odwołujące się do niego dowiązania. Stąd funkcja systemowa do kasowania plików w języku

C nazywa się unlink – kasowany nie jest plik, ale jedynie jego nazwa oraz dekrementowany

jest wskaźnik dowiązań (dopiero, gdy spadnie on do zera, system automatycznie zwalnia

zajętą przestrzeń dyskową – zwalnia i-węzeł).

Domyślnie każdy folder w Unix-owych systemach plików posiada zaraz po

utworzeniu dwa dowiązania twarde – swoją nazwę (np. /home/fizyk/przykład) oraz wewnątrz

dowiązanie "."(kropka). Dodatkowo, jeśli folder zawiera pod foldery, to w każdym z nich

znajduje się dowiązanie ".."(dwie kropki) wskazujące na niego, jako folder nadrzędny.

Ze względu na możliwość tworzenia nieskończonych pętli przez tworzenie

nieprawidłowych dowiązań do katalogów, niektóre systemy nie pozwalają na tworzenie

nowych dowiązań tego typu lub pozwalają na to tylko użytkownikowi root.

Dowiązania sztywne( twarde linki) i symboliczne jednego pliku lub katalogu do drugiego

mogą być utworzone poleceniem ‘ln’.

$ ln <nazwa_pliku><nazwa_linku>

Polecenie to tworzy dla <nazwa_pliku> nowy wpis w katalogu o nazwie

<nazwa_linku> (tj. <nazwa_linku> jest dowiązaniem sztywnym). Oba wpisy do katalogu są

identyczne (i mają liczbę dowiązań 2). Jeżeli <nazwa_pliku> lub <nazwa_linku> ulegają

modyfikacji, zmiany zachodzą i w drugim pliku.

Zadania do samodzielnego rozwiązania

1. Które z podanych napisów mogą być nazwami katalogów:

Pogramy RAPORTY

moje dane list.*

bardzodluganazwakatalogu

Rysunek 20. Utworzenie katalogu

2. Sprawdź za pomocą polecenia mkdir co uzyskasz, gdy użyjesz każdego z napisów jako

nazwy katalogu.

a. Programy RAPORty -> 2 katalogi o podanych nazwach

Page 23: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

23 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

b. Moje dane list. -> 3 katalogi o podanej nazwie

c. Bardzodluganazwakatalogu -> katalogi o podanych nazwach

Rysunek 21. Tworzenie folderów

3. Utwórz w katalogu osobistym (domowym) katalog rozne. Uczyń go katalogiem

bieżącym. Jakiego użyłeś polecenia? Jaka jest pełna nazwa ścieżkowa tego katalogu?

Rysunek 22. Tworzenie i przechodzenie do katalogu

4. Wróć do katalogu domowego. Jak sprawdzisz czy jest to już twój katalog domowy?

Rysunek 23. Katalog w górę

5. Pozostając w katalogu domowym utwórz za pomocą jednego polecenia katalogi:

rozne/listy/prywatne

rozne /listy

rozne /listy/sluzbowe

rozne /listy/prywatne/Ola

Rysunek 24. Tworzenie podkatalogów

6. Utwórz plik (użyj polecenia touch) i sprawdź ile ma dowiązań.

Page 24: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

24 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 25. Tworzenie pliku poleceniem touch

7. Utwórz katalog i sprawdź ile ma dowiązań.

Rysunek 26. Dowiązania katalogu Ala

8. Obejrzyj atrybuty pliku export znajdującego się w twoim katalogu domowym. Czy jest to

plik zwykły czy katalog? Jaki jest rozmiar tego pliku? Jaka jest liczba dowiązań?

#ls -li

Rysunek 27. Informacje o katalogu export

Page 25: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

25 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Moduł 3: Prawa dostępu

Polecenia: chmod, umask, chown, chgrp

Prawa dostępu - w systemach uniksowych mają na celu umożliwić określenie uprawnień

odczytu, edycji i uruchamiania dla poszczególnych użytkowników. Mechanizm ten ma na

celu zapewnienie bezpieczeństwa, stabilności i kontroli prywatności w systemach

wielodostępnych.

Prawa dostępu przydzielane są dla kategorii:

user - użytkownik, właściciel pliku,

group - grupa, właściciel pliku,

other - pozostali użytkownicy,

all – dla wszystkich.

Dla każdej z tych kategorii możliwe są trzy prawa dostępu, opisane literowo (rwx) lub

liczbowo trzema bitami:

read - odczyt, wartość - 100(2) = 4(8),

write - zapis, wartość - 010(2) = 2(8),

execute - wykonywanie, wartość 001(2) = 1(8).s

Standardowym symbolicznym sposobem zapisu uprawnień jest:

-|rwx|r-x|r-- 1 fizyk fizyk 2010 kwi 16 13:09 plik

T|uuu|ggg|ooo

Tabela 9. Symboliczny zapis uprawnień

Oznaczenie Opis

t oznacza typ pliku (- zwykły, d katalog, l dowiązanie symboliczne, s

gniazdo, f FIFO, c urządzenie znakowe, b urządzenie blokowe)

u Uprawnienia właściciela

g Uprawnienia grupy

o Uprawnienia pozostałych

Zapis liczbowy praw dostępu polega na przedstawieniu uprawnień za pomocą trzycyfrowej

lub czterocyfrowej liczby ósemkowej, której kolejne cyfry oznaczają: uprawnienia specjalne

(w liczbie trzycyfrowej nie występuje, uprawnienia użytkownika, uprawnienia grupy,

uprawnienia pozostałych)

rwx r-x r-- → 111 101 100 (2) → 4+2+1 4+1 4 (8) → 754 (8)

Znaczenie praw dostępu dla zwykłych plików jest intuicyjne, natomiast dla katalogów

znaczenie jest następujące:

jeżeli użytkownik ma prawo x do katalogu, to może do niego "wejść"

Page 26: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

26 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

jeżeli użytkownik ma prawo r do katalogu, to może wyświetlić jego zawartość

jeżeli użytkownik ma prawo w do katalogu, to może w nim tworzyć i kasować

pliki/katalogi

Chmod (ang. change mode - zmiana atrybutu) - polecenie zmiany zezwoleń dostępu do

plików w systemach uniksowych.

chmod [opcje] uprawnienia plik

Tabela 10. Opcje uprawnień

Opcje Znaczenie

-c, --changes jak -v, ale podanie tylko, kiedy zaszła zmiana

--no-preserve-root bez traktowania katalogu '/' w specjalny sposób (domyślnie)

--preserve-root odmowa rekursywnego działania na '/'

-f, --silent, --quiet wyłączenie większości komunikatów o błędach

-v, --verbose wypisanie informacji o każdym przetwarzanym pliku

--

reference=plik_wzorcowy

użycie uprawnień pliku plik_wzorcowy zamiast wartości uprawnienia

-R, --recursive zmiany też w plikach w podkatalogach

--help wyświetlenie tego opisu i zakończenie

--version wyświetlenie informacji o wersji i zakończenie

Przykłady użycia polecenia chmod

$ chmod a+w plik.txt – nadaje wszystkim uprawnienia do zmiany 'plik.txt',

$ chmod o-x plik.txt – usuwa możliwość wykonywania 'plik.txt' przez

pozostałych użytkowników,

$ chmod go=rx plik.txt – grupa oraz pozostali użytkownicy będą mogli tylko

czytać i wykonywać.

$ chmod -R 777 /home/user – wszyscy będą mogli zmieniać zawartość

katalogu /home/user oraz jego podkatalogów, jak też czytać go i wykonywać

zawarte w nim pliki

Umask - pozwala określić, jakie prawa nie mają być nadawane domyślnie dla nowo

utworzonego pliku

Przykład użycia:

$ umask 444

Będzie oznaczać, że standardowo nie będą przyznawane prawa do odczytu. Czyli jeśli

stworzysz teraz nowy plik, to będzie on miał takie prawa: -w--w--w-. Zwykle maska

ustawiana jest na 022 ( rw-r--r--). Trzeba zauważyć, iż 0 ustawia zapis i odczyt.

Page 27: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

27 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Tabela 11. Umask - możliwe cyfry

Cyfra Znaczenie

0 Brak ograniczeń praw (zapis i odczyt)

2 Wyłącza zapis (ustawia tylko odczyt)

4 Wyłącza odczyt (ustawia tylko zapis)

6 Wyłącza zapis i odczyt (brak praw do pliku)

Chown to polecenie systemu Unix i pochodnych używane do zmiany właściciela pliku. W

większości implementacji może być wykonywane tylko przez administratora systemu. Zwykli

użytkownicy, którzy chcą zmienić grupę pliku, muszą korzystać z polecenia chgrp.

chown [użytkownik][:grupa] plik-1 [plik-2 ...]

gdzie parametry oznaczają:

użytkownik określa nowego właściciela pliku,

grupa (koniecznie poprzedzony dwukropkiem) określa grupę, do której plik ma zostać

przypisany,

plik-n określają jeden lub więcej plików, których dotyczy zmiana.

Uwagi:

Co najmniej jeden z parametrów użytkownik lub grupa musi zostać określony.

Zarówno użytkownik jak i grupa mogą zostać określone poprzez nazwę symboliczną

lub identyfikator liczbowy.

Przykłady użycia:

$ chown nobody:nobody /tmp /var/tmp

$ chown -R andrzej:marketing /katalog

Pierwsze z poleceń chown operuje na katalogach /tmp i /var/tmp, zmieniając im właściciela

i grupę na nobody. Nie modyfikuje jednak znajdujących się wewnątrz nich plików i

podkatalogów — w tym celu program należy wywołać z dodatkową opcję -R, co pokazuje

drugie wywołanie komendy.

Chgrp – komenda systemu Unix i pochodnych, umożliwiająca zwykłym użytkownikom

zmianę przypisania pliku do grupy. W przeciwieństwie do polecenia chown, chgrp pozwala

na przypisanie pliku tylko do takiej grupy, do której użytkownik sam należy.

chgrp [opcje ...] grupa plik1 [plik2 ...]

gdzie parametry określają:

opcje określa opcje używane przy przypisywaniu,

grupa określa nazwę nowej grupy, do której plik ma być przypisany,

Page 28: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

28 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

plik1 [plik2 ...] określają listę plików, których przypisanie ma być

zmienione.

Tabela 12. Chgrp - opcje wiersza poleceń

Opcje Znaczenie

-c, --changes Informuje użytkownika o czynnościach, ale tylko dla tych plików,

których grupa rzeczywiście ulega zmianie.

--dereference Działa na plikach wskazywanych przez dowiązania symboliczne zamiast

na samych dowiązaniach.

-h, --no-dereference Działa na dowiązaniach symbolicznych zamiast na plikach, które one

wskazują (dostępne tylko w systemach potrafiących zmienić właściciela

dowiązania symbolicznego). Jest to zachowanie domyślne. Opiera się na

wywołaniu funkcji systemowej lchown. Na systemach

niezapewniających tej funkcji chgrp zawodzi w przypadku próby zmiany

grupy dowiązania symbolicznego. Domyślnie nie są emitowane żadne

komunikaty diagnostyczne dla dowiązań symbolicznych napotykanych

podczas rekurencyjnej pracy w katalogach, zobacz jednak opis opcji --

verbose.

-f, --silent, --quiet Nie wyświetla komunikatów o błędach dla plików, których grupa nie

może zostać zmieniona.

-v, --verbose Informuje użytkownika o zmianach właściciela. Jeżeli podczas

rekurencyjnego przetwarzania napotkane jest dowiązanie symboliczne,

zaś system nie obsługuje funkcji systemowej lchown a działa opcja --no-

dereference, to wysyła komunikat diagnostyczny informujący, że nie jest

zmieniane ani dowiązanie ani wskazywany przez nie plik.

-R, --recursive Rekurencyjnie zmień grupę dla katalogów i ich zawartości.

--reference=rplik Używa grupy wskazanego rpliku zamiast wprost podanej grupy.

--help Wyświetla informację o stosowaniu programu i dostępnych opcjach,

kończy działanie.

--version Wyświetla numer wersji programu i kończy działanie.

Przykłady użycia:

Jeżeli mamy np. plik o nazwie plik i chcemy, aby dostęp do niego miała grupa

laboranci używamy polecenia:

chgrp laboranci plik

Aktualną grupę zobaczymy używając polecenia:

$ ls -l plik

-rw-r--r-- 1 uzytkownik laboranci 21234 sie 15 17:32 plik

Polecenie

$ chgrp koty kot.jpg

Page 29: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

29 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Powoduje przypisanie pliku kot.jpg do grupy „koty” (pod warunkiem, że użytkownik

wykonujący to polecenie, jest członkiem grupy koty).

Zakładanie i przeglądanie plików tekstowych

Touch — polecenie systemów UNIX zmieniające datę modyfikacji lub ostatniego dostępu

pliku. Wywołane z argumentem tworzy (jeżeli jeszcze nie istnieje) nowy plik o takiej jak

argument nazwie i ustala jego daty modyfikacji i ostatniego dostępu na aktualną datę.

Przykład:

$ date

śro sie 16 13:06:41 CEST 2006

$ ls -l

-rw-r--r-- 1 user user 0 2006-08-16 13:04 plik1

$ touch plik2.txt

$ ls -l

-rw-r--r-- 1 user user 0 2006-08-16 13:04 plik1

-rw-r--r-- 1 user user 0 2006-08-16 13:06 plik2.txt

Cat (ang. catenate - łączyć) jest poleceniem systemu Unix służącym do łączenia

(konkatenacji) plików (np. podzielonych komendą split) oraz wyświetlania (kierowania na

standardowe wyjście) zawartości pliku (plików). Wyświetlanie zawartości plików jest jednak

znacznie częściej stosowane niż łączenie plików.

Wyświetlenie zawartości pliku lub kilku plików:

$ cat <nazwa pliku 1> [<nazwa pliku 2> <nazwa pliku 3> ..]

Łączenie zawartości kilku plików w jeden:

$ cat <nazwa pliku 1> <nazwa pliku 2> [<nazwa pliku 3> ..] >

<nazwa pliku wynikowego>

Tabela 13. Cat - opcje wiersza poleceń

Opcje Znaczenie

-b Numeruje nie puste linie wyjściowe

-e Dodatkowo wyświetla znak końca linii jako $

-n Numeruje linie wyjściowe

-t Wyświetla znak tabulacji jako ^|

-s Zastępuje sąsiadujące puste wiersze jednym pustym wierszem

-v Wyświetla białe znaki w widoczny sposób, wyłączając znaki tabulacji

oraz znak końca lini

Page 30: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

30 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Listy ACL

ang. Access Control List, ACL – lista kontroli dostępu. W systemach uniksowych poprzez

rozszerzenie możliwości systemu plików, umożliwia bardziej rozbudowaną i dokładną

kontrolę dostępu do plików, w porównaniu do standardowych uprawnień w systemie.

Standardowe uprawnienia w systemie plików systemu Unix obejmują tylko: zapis, odczyt

oraz wykonanie. Każde z uprawnień możemy definiować dla: właściciela pliku (ang. owner),

grupy, do której ten plik należy (ang. group) oraz pozostałych użytkowników (ang. other).

Polecenia:

Getfacl służy do odczytania prawa dostępu z listy ACL

Setfacl służy do ustawienia prawa dostępu do listy ACL

Tabela 14. Setfacl - opcje wiersza poleceń

Atrybut Opis Znaczenie

--set Ustawia

-m Modyfikuj

-x Usuń Usuwa wpis w ACL

-d Skasuj Kasuje cała listę ACL

Zadania do samodzielnego rozwiązania

1. Stwórz katalog o nazwie test1, sprawdź, jakie posiada on atrybuty. Jeżeli możesz je

zmienić odbierz na 3 sposoby wszelkie prawa grupie i pozostałym.

Stworzenie katalogu:

$ mkdir test1

Wyświetlenie informacji o plikach i katalogach

$ ls –l

Page 31: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

31 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 28. Przedstawia informacje o plikach folderach oraz ich prawach

Zmienienie praw dostępu na 3 sposoby

$ chmod 700 test1

$ chmod og=t test1

$ chmod og-rwx test1

Rysunek 29. Przedstawia zmienione prawa pliku test1.

2. Zmiana właściciela katalogu na użytkownika o nazwie stud oraz grupy na lab (polecenie

chown)

Zaczniemy od utworzenia nowego użytkownika poleceniem:

$ useradd stud

Następnie utworzymy grupę o nazwie lab:

$ groupadd lab

Page 32: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

32 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Na koniec dokonamy zmiany właściciela katalogu:

$ chown stud:lab test1

$ ls –l

Wynik końcowy:

Rysunek 30. Wynik działania zmiany właściciela pliku.

3. Utwórzmy plik o nazwie hello, w którym wypiszemy tekst Hello, World ze standardowymi

prawami. A następnie stwórzmy z niego skrypt oraz program wykonywalny, który

uruchomimy.

$ echo Hello, World > hello ; ls –l

Rysunek 31. Stworzony plik ze standardowym prawami.

Page 33: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

33 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Teraz stworzymy najprostszy skrypt shellowy za pomocą komendy:

$ echo ‘#!/bin/sh’ > hello ; echo ‘echo Hello, World’ >> hello

; cat ls-l

‘#!/bin/sh

echo Hello, World

Oraz stworzymy z niego program wykonywalny za pomocą dodania do niego prawa do

uruchomienia pliku jako programu

$ chmod +x hello

Uruchamianie programu

$ ./hello

Rysunek 32. Wynik działania programu hello.

Teraz odbierzemy prawa uruchamiania pliku jako program I przetestujemy działanie

polecenia ./hello

$ chmod -x hello

Uruchamianie programu

$ ./hello

Rysunek 33. Brak dostępu do uruchamia programu.

Jak widać po odebraniu praw nie mamy dostępu do uruchomienia pliku jako programu.

4. Utwórz dwa dowolne pliki, w taki sposób, aby od początku istnienia posiadały prawa

- rw- - - - - - -

Określimy za pomocą polecenia umask prawa, jakie mają być nadane nowo utworzonym

plikom

$ umask 166

Następnie utworzymy pliki:

Page 34: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

34 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

$ touch plik1

$ touch plik2

Wynik działania:

Rysunek 34. Utworzone pliki dostały prawa wcześniej ustalone w pleceniu umask.

5. Stwórz plik secret.doc tak, aby był własnością użytkownika stud, następnie stwórz

użytkownika stud2, który dostanie prawa tylko do odczytu tego pliku.

Tworzenie użytkownika, pliku oraz przypisanie pliku do użytkownika

$ useradd stud2

$ touch secret.doc

$ useradd stud2

$ chown stud:lab secret.doc

W tym miejscu użytkownik stud2 dostaje prawa tylko do odczytu pliku:

$ setfacl -m user:stud2:r-- secret.doc

Kiedy ACL została ustawiona, listę plików, pokazuje symbol + na koniec uprawnienia ciąg:

# ls -l /home/stud2/secret.doc

-rw-------+ 1 stud2 admin 105433 Jan 24 12:07

/home/stud2/secret.doc

Wypiszemy teraz rozszerzone uprawnienia do pliku za pomocą polecania getfacl

$ getfacl /etc/passwd

Page 35: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

35 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

# file: /etc/passwd

# owner: root

# group: sys

user::rw-

group::r— #effective:r--

mask:r--

other:r--

Page 36: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

36 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Moduł 4: Strumienie, potoki, sterowanie procesami

Strumienie i potoki

Standardowe strumienie – są podstawowymi kanałami komunikacji pomiędzy komputerem

a otoczeniem. Do podstawowych strumieni należą „Standard input” – standardowy strumień

wejścia oraz „Standard output” – standardowy strumień wyjścia.

Standardowy strumień wejścia stdin - to dane przekazywane do programu zwykle w formie

tekstu. Pobiera dane używając funkcji „read”. Nie wszystkie programy wymagają danych

wejściowych i wykonują się nie pobierając żadnych danych z „stdin”. Jeżeli dane nie są

przekierowane to zostają pobierane z terminala.

Przykłady:

#ls - wyświetla listę plików

#man ls - opisuje działanie komendy ls

#cat < przyklad.txt – wyświetlenie zawartości pliku przykład.txt

Standardowy strumień wyjścia stdout – strumień, do którego są zapisywane dane

wynikowe przez program. Wykorzystuje funkcje „write”, niektóre programy nie zwracają

danych wynikowych, jeżeli zostaną przeprowadzone prawidłowo to nie wypisują żadnego

wyniku. Jeżeli dane nie są przekierowane to są wysyłane do terminala, z którego

uruchomiono program.

Przykłady:

#mkdir nazwa_forderu - tworzenie folderu „nazwa_folderu”

#rmdir nazwa_forderu - usunięcie folderu „nazwa_folderu”

#touch plik.txt – wstawia plik „plik.txt”

#cat plik.txt – wyświetla zawartość pliku „plik.txt”

Przekierowanie strumieni – umożliwia przeniesienie wyniku np. do pliku tekstowego.

Wyróżniamy 3 sposoby przekierowania danych:

„>” – umożliwia przekierowanie strumienia danych do pliku. W przypadku, gdy plik

już istnieje to jego zawartość zostaje usunięta

„>>” – podobnie jak w przypadku „>” z tą różnicą, że jeżeli plik istnieje to wynik

komendy zostaje dopisany do końca pliku

„<” –Umożliwia pobranie z pliku danych i przetworzenia ich przez polecenie

Przykłady:

#ls > plik1.txt – wpisze wynik polecenia ls do pliku

#ls >> plik1.txt – dopisze wynik polecenia ls na koniec pliku

#cat < plik1.txt – wypisze zawartość pliku

Page 37: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

37 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Przetwarzanie potokowe – pozwala za pomocą znaku „|” łączyć wyjścia jednego polecenia z

wejściem innego. Umożliwia to wymianę danych pomiędzy procesami.

Przykład: #touch procesy.txt

#cat > procesy.txt << EOF

>Wykaz procesów, które nie zawierają w sobie wzorca sh

>EOF

#ps | grep –v sh | cat >> procesy.txt

#cat procesy.txt

Rysunek 35. Zawartość pliku procesy.txt

Sterowanie procesami

Każdy program, który jest uruchomiony w systemie nosi nazwę procesu. Proces składa się z

następujących elementów:

Kod binarny procesu załadowany z pliku

Dane programu – struktury danych, pamięć dynamicznie przydzielona w trakcie

działania procesu

Dane systemowe – informacja o procesie utrzymywania przez system

Podczas tworzenia procesu system inicjalizuje systemowe struktury danych opisujące proces.

Podczas działania procesu dane są aktualizowane. Wyróżniamy następujące dane systemowe:

Identyfikator procesu (PID) – unikalna liczba całkowita jednoznacznie identyfikująca

proces

Identyfikator procesu macierzystego (PPID) - wartość PID procesu, który stworzył

dany proces

Środowisko procesu – zbiór zmiennych środowiskowych. Każdy proces ma swoje

niezależne od innych procesów środowisko wykonania, które początkowo jest

kopiowane z procesu-rodzica, a następnie jest modyfikowane niezależnie od innych

procesów

Standardowe strumienie danych

Komenda „ps” – komenda wyświetla listę wszystkich aktywnych procesów. Domyślnie

komenda wyświetla poniższe dane:

Rysunek 36. Lista procesów wyświetlona po wykonaniu komendy „ps”.

PID – numer procesu

TTY – terminal, z którego została wykonana komenda

TIME – czas aktywności

CMD – nazwa komendy, która została wykonana

Page 38: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

38 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Więcej informacji o procesie aktualnej powłoki można uzyskać za pomocą polecenia „#ps –f”

Rysunek 37. Więcej informacji na temat procesów

UID – ID właściciela

PPID C – numer procesu nadrzędnego

STIME – czas uruchomiania

Jeżeli chcemy uzyskać wszystkie dostępne informacje o procesie używamy komendy „#ps –l”

Rysunek 38. Wszystkie informacje na temat procesów

F – flaga procesu

S – status procesu

PRI – priorytet procesu

NI – wartość NI

ADDR – adres pamięci przedstawiony w systemie szesnastkowym

SZ – rozmiar w KB

WCHAN – adres pamięci dla śpiących procesów

Gdy jesteśmy zalogowani, jako administrator to możemy wyświetlić listę procesów, które są

aktualnie uruchomione na całym komputerze za pomocą komendy „#ps-A”.

Rysunek 39. Fragment listy procesów uruchomionych na maszynie

Bardziej szczegółowy opis procesów można uzyskać podobnie jak w poprzednich

przypadkach dołączając do komendy literkę „f”.

Rysunek 40. Bardziej szczegółowa lista procesów uruchomionych na maszynie

Komenda „#ps –c” wyświetla klasę(CLS) procesu i priorytet.

Page 39: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

39 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 41. Wynik polecenia ps -c

Opis skonfigurowanych klas można uzyskać dzięki poleceniu „#priocntl –l”

Rysunek 42. Skonfigurowane klasy

Analogicznie jak w przypadku „#ps –Af”, można łączyć też polecenie wyświetlania procesów

szczegółowo wraz z klasami poleceniem „#ps -cf”.

Aby wyświetlić listę procesów aktualnie wykonywanych używamy polecenia „#ps –g 0”.

Rysunek 43. Lista procesów aktualnie wykonywanych

Aby wyświetlić identyfikator sesji (SID) wykorzystujemy polecenie „#ps -j”.

Rysunek 44. Wyświetlenie danych o procesach wraz z SID

Komenda sleep – komenda usypiająca proces na podany czas. Są dwie opcje użycia

polecenia „sleep”:

#date;sleep 10;date – wyświetlenie daty w danym momencie i po upływie polecenia „sleep”

Rysunek 45. Efekt wywołania polecenia sleep

Page 40: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

40 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

#(sleep 10; date) & - Wyświetlenie daty po upływie 10 sekund i możliwość wykonywania w tym czasie

innych komend dzięki ustawieniu pracy w tle za pomocą znaku „&” na końcu komendy. Dodatkowo po

wpisaniu znaku „&” na końcu komendy otrzymujemy od razu jego ID.

Rysunek 46. Efekt wykonana polecenia sleep pracującego w tle

Komenda kill – komenda umożliwiająca usunięcie procesu.

Przykład:

#ps – wyświetlenie listy procesów

#sleep 120 & - uruchomienie „sleep” w tle

#ps –wyświetlenie listy procesów

#kill 2207 – usunięcie procesu 2207

#ps – ponowne wyświetlenie listy procesów

Rysunek 47. Przykład wykorzystania polecenia "kill"

Sterowanie zadaniami przez używaną powłokę (procesy pierwszo i

drugoplanowe)

Procesy interakcyjne dzielimy na dwa rodzaje: Procesy pierwszoplanowe – związane z terminalem (np. ls)

Procesy drugoplanowe – wykonywane w tle

Aby program był wykonywany w tle wystarczy na końcu polecenia dodać znak „&”

Przykład:

#(sleep 10; date) & - wyświetli datę po 10 sekundach

#gedit & – uruchamia edytor treści w tle

Page 41: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

41 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Przykład zarządzania zadaniami w powłoce znajduje się w następnym rozdziale, gdzie będzie

uruchamiany edytor treści gedit, a następnie będziemy go przenosić z pierwszego planu do tła

i odwrotnie.

Wstrzymywanie procesów

Aby uruchomić wybrany proces wpisujemy w konsoli jego nazwę, przykładowo będzie to

edytor tekstu gedit.

Polecenie jobs – polecenie wyświetla aktualnie wykonywane zadania oraz ich status

Polecenie ^Z – oznacza w rzeczywistości skrót klawiszowy CTRL + Z i jego zadaniem jest

przerwanie wykonywanego zadania.

Polecenie ^C – polecenie zamyka uruchomiony proces

Polecenie bg %id lub bg – przenosi jeden lub wszystkie zatrzymane procesy do tła, a

następnie je uruchamia

Polecenie fg %id – przywraca proces z tła, blokując w ten sposób konsolę

Polecenie kill ID – kończy proces o podanym ID

Przykłady:

#gedit – uruchamia edytor tekstu

^Z – zatrzymuje działanie edytora

#jobs –l – wyświetla status programu

#bg – przenosi program do tła i uruchamia

#jobs –l – wyświetla status programu

#fg %1 – przywraca edytor z tła i blokuje w ten sposób terminal

Rysunek 48. Uruchamianie poleceń

^C – zamyka uruchomiony program

#gedit & - uruchamia programik w tle

#jobs –l – wyświetla informacje o procesie

#fg %1 – przywraca proces z tła

^Z – zatrzymuje działanie procesu odblokowując terminal

#jobs –l – wyświetla informacje o procesie

Page 42: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

42 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 49. Uruchamianie poleceń cd.

#kill 1487 – usuwa proces

Monitorowanie procesów

Monitorowanie procesów może się odbywać za pomocą każdej z poniższych komend

Tabela 15. Komendy monitorowania procesów

Komenda Działanie

ps Wyświetla status i informacje na temat procesów

pgrep Szuka PID procesów

prstat Wyświetla statystyki wszystkich procesów

preap Wyłapuje procesy „Zombie”

pstop Zatrzymuje tymczasowo procesy

prun Kontynuuje wcześniej zatrzymane procesy

pwait Czeka aż skończy się proces

pwdx Pokazuje folder, w którym działa proces

pargs Wypisuje argumenty i wartości procesu

pfiles Wypisuje listę opisów procesu

pldd Lista dynamicznych bibliotek procesu

ptree Wypisuje drzewo procesu

pstack Debuguje wynik procesu

truss Śledzi wezwania i sygnały systemowe dla procesu

svcs Z opcją „-p” komenda wyświetla listę procesów należących do instancji usługi

Komenda pgrep – sprawdza aktywne procesy w systemie i sporządza raport ID procesów,

których atrybuty spełniają kryteria wpisane w komendzie. Może być używany do zmiany

połączenia komend „grep” i „ps” w celu pobrania „PID”.

Page 43: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

43 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 50. Przykład użycia pgrep

Komenda prstat- wyświetla interwałowo informacje na temat wszystkich procesów.

#prstat 1 – wyświetla, co sekundę informacje(crtl + c , aby przerwać).

Komenda preap – czyści niedziałające procesy lub procesy zombie, które są bezużyteczne a

pobierają zasoby systemu.

#ps –efl|greap Z – wyszuka wadliwe procesy

#preap PID – usunie proces o identyfikatorze PID

Komendy pstop PID i prun PID – zatrzymują i uruchamiają podany proces.

Komenda pwait PID– usypia konsole do czasu zakończenia wskazanego procesu

Komenda pwdx – Pokazuje lokalizację wybranego procesu

Rysunek 51. Wyświetlenie wybranej lokalizacji procesu

Komenda pargs – wyświetla informacje o procesach bez limitu w porównaniu do komendy

ps

Rysunek 52. Wynik użycia komendy pargs dla procesu 1237

Komenda pfiles – wyświetla listę plików otwartych podczas działania procesu

Page 44: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

44 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 53. Efekt działania polecenia pfiles

Komenda pldd – lista bibliotek wykorzystywanych przez proces

Rysunek 54. Lista bibliotek wykorzystywanych przez proces

Komenda ptree – wyświetla wszystkie dzieci i rodziców danego procesu

Rysunek 55. Efekt działania ptree

Page 45: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

45 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Komenda pstack – śledzi uruchomiony proces

Rysunek 56. Wynik komendy pstack

Komenda truss – jedna z najbardziej pożytecznych komend, śledzi wezwania i sygnały

systemu wygenerowane przez proces. Przykładowo można śledzić wybrany proces:

Rysunek 57. Przykładowy wynik śledzenia procesu 333

Zadania do samodzielnego rozwiązania

Po uruchomieniu klikamy prawym przyciskiem na pulpicie i wybieramy opcję „Open

Terminal”.

Zad.1 Podstawowe wykorzystanie strumieni oraz potoków.

Wyświetl listę plików i folderów

#ls

Rysunek 58. Lista plików i folderów

Utwórz folder „Lab_procesy” i sprawdź czy folder został utworzony

Rysunek 59. Lista z nowo utworzonym folderem

Page 46: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

46 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Przejdź do utworzonego folderu, a następnie upewnij się że jesteś w utworzonym folderze

Rysunek 60. Przejście do utworzonego folderu

Utwórz plik „lista_procesow.txt”

Rysunek 61. Tworzenie nowego pliku

Sprawdź czy został utworzony plik

Rysunek 62. Lista plików

Dodaj treść do pliku „Lista aktywnych procesów:”

Rysunek 63. Dodawanie treści do pliku

Sprawdź zawartość pliku „lista_procesow.txt”

Rysunek 64. Wyświetlenie zawartości pliku

Wyświetl listę procesów, następnie dodaj ją do pliku usuwając jeden z procesów o wybranym

identyfikatorze PID

Rysunek 65. Zapisywanie listy procesów do pliku

Wyświetl zawartość pliku

Page 47: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

47 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 66. Zawartość pliku "lista_procesow.txt"

Zad.2. Operacje na procesach(sleep, kill, &)

Utwórz proces który wyświetli aktualną datę i datę po 10 sekundach

Rysunek 67. Wyświetlanie daty z opóźnieniem

Po wykonaniu poprzedniego zadania konsola została zablokowana na 10 sekund, przekształć

poprzednie polecenie tak, aby można było po wykonaniu polecenia użyć komendy „ls”

Rysunek 68. Uruchomienie procesu sleep w tle

Wyświetl listę procesów, a następnie utwórz proces jak w poprzednim poleceniu ustawiając

go na 2 minuty. Sprawdź ponownie listę procesów i sprawdź czy znajduje się tam

uruchomiony przez ciebie proces. Następnie usuń proces wykorzystując jego PID i ponownie

sprawdź listę procesów

Page 48: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

48 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 69. Usuwanie utworzonego procesu

Zad.3. Sterowanie procesami(jobs, ^Z, ^C, bg, fg, kill)

Uruchom z poziomu terminala edytor tekstu „gedit”

Rysunek 70. Uruchomienie edytora tekstu

Po uruchomieniu edytora tekstu nie można wpisywać komend w terminalu dopóki proces

działa jako pierwszoplanowy. Zatrzymaj działanie programu(CTRL + Z)

Rysunek 71. Zatrzymanie działania programu

Page 49: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

49 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Następnie wyświetl status uruchomionych zadań

Rysunek 72. Lista uruchomionych zadań

Uruchom ponownie program w tle i wyświetl jego status

Rysunek 73. Przeniesienie procesu na drugi plan

Przywróć program do działania w trybie pierwszoplanowym posługując się jego numerem z

polecenia „jobs”, a następnie poleceniem „CTRL + C” zakończ działanie programu

Rysunek 74. Przywrócenie programu na pierwszy plan

Uruchom ponownie program „gedit” w tle i wyświetl działające zadania

Rysunek 75. Uruchamianie procesu w tle

Przenieś proces z tła do pierwszego planu używając jego numeru i zatrzymaj jego działanie

Rysunek 76. Przeniesienie procesu z tła na pierwszy plan

Page 50: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

50 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Wyświetl listę aktywnych procesów i usuń proces „gedit”

Rysunek 77. Lista aktywnych procesów

Rysunek 78. Usuwanie procesu

Page 51: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

51 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Moduł 5: Wybrane programy użytkowe – Edytor Vi

Edytor Vi uruchamiany jest w oknie terminala. Przy jego pomocy możemy dokonywać

następujących operacji:

Tworzenie nowych plików;

Modyfikowanie istniejących plików;

Przeszukiwanie fragmentu tekstu w pliku;

Zmiana fragmentu tekstu na inny;

Przenoszenie lub kopiowanie fragmentu tekstu w pliku;

Usuwanie fragmentu tekstu w pliku.

Edytor ten działa w dwóch trybach pracy:

Tryb wstawiania: w tym trybie litera jest dodawana do tekstu w miejscu wskaźnika;

Tryb poleceń: w tym trybie wydajemy komendy, oraz edytujemy plik (np. litera x

kasuje znaki).

Edytor Vi uruchamia się poleceniem vi:

Rysunek 79. Uruchomienie edytora

Lub wyszczególniając istniejący plik do edycji, albo też nowy do utworzenia:

Rysunek 80. Uruchomienie pliku do edycji, lub tworzenie nowego

Rysunek 81. Okno edytora Vi

Page 52: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

52 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Możliwe jest również podanie listy plików do edycji. Po zakończeniu edycji jednego,

uruchomi się edycja kolejnego.

Poniższe komendy są wykonywane w trybie poleceń.

Tabela 16. Opcje edytora Vi

Opcje Znaczenie

/ Wykonuje przeszukiwanie pliku do przodu

? Wykonuje przeszukiwanie pliku wstecz

: Wykonuje polecenia edytora ex w bieżącym wierszu

! Wykonuje powłokę w ramach vi

ZZ Zapisuje plik i zamyka edytor

h Przesuwa kursor w lewo

j Przesuwa kursor w dół

k Przesuwa kursor w górę

l Przesuwa kursor w prawo

nG Przesuwa kursor do n-tej linii

w Przesuwa kursor to następnego słowa

b Przesuwa kursor o jedno słowo wstecz

dw Usuwa słowo

ndw Usuwa n słów

d^ Usuwa wszystkie słowa do początku linii

dd Usuwa bieżącą linię

dG Usuwa wszystkie linie do końca pliku

D Usuwa wszystkie słowa do końca linii

x Usuwa bieżący znak

nx Usuwa n znaków w prawo

nY Szarpie n linii do bufora

p Wkleja po prawej stronie kursora

P Wkleja po lewej stronie kursora

Oddzielny zestaw poleceń, zwany poleceniami ex, mogą być wprowadzane przy użyciu

dwukropka w połączeniu z jednym z poniższych poleceń.

Tabela 17. polecenia ex

Opcje Znaczenie

:n Przesuwa kursor do n-tej linii

:$ Przesuwa kursor na koniec pliku

:s/a/b/g Zamienia wszystkie wystąpienia fragmentu tekstu a, na tekst b w

bieżącej linii

:%s/a/b/g Zamienia wszystkie wystąpienia fragmentu tekstu a, na tekst b w pliku

:wq Zapisuje plik i zamyka edytor

Page 53: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

53 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

:q! Zamyka edytor bez zapisywania

Opcje menu takie jak File, Edit, View itp. Są przeznaczone dla terminala, w edytorze Vi nie

działają. Edytor Vi nie posiada takich elementów, wszystko jest obsługiwane za pomocą

klawiatury.

Wprowadzanie tekstu

Domyślnie edytor uruchamia się z włączonym trybem poleceń. Do przełączania między

trybami służy klawisz Esc.

Tabela 18. Opcje wstawiania tekstu

Opcje Znaczenie

i Wstawianie tekstu przed kursorem

a Wstawianie tekstu za kursorem

O Wstawianie tekstu tuż powyżej bieżącej linii, w nowym pustym wierszu

o Wstawianie tekstu tuż poniżej bieżącej linii, w nowym pustym wierszu

Rysunek 82. Wprowadzanie tekstu

Poruszanie się w pliku

Ponieważ edytor Vi nie posiada paska przewijania, oraz nie wspiera myszki posiada zestaw

klawisz służących do poruszania się w trybie poleceń.

Page 54: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

54 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

W systemach Solaris, do poruszania się w pliku można również wykorzystać klawisze

strzałki. Jakby jednak nie działały, opcjonalne sterowanie przedstawia poniższa tabela.

Tabela 19. Opcje poruszania się w pliku

Opcje Znaczenie

h W lewo

j W dół

k W górę

l W prawo

w Jedno słowo w prawo

b Jedno słowo w lewo

0 (zero) Do początku linii

$ Do końca linii

^F Strona w przód

^B Strona wstecz

^D Połowa strony w dół

^U Połowa strony w górę

0G Pierwsza linia pliku

G Koniec pliku

Wstawianie innych plików

Wstawianie zawartości innych plików tekstowych odbywa się w trybie poleceń. Aby tego

dokonać wciskamy klawisz „:”. Kursor przechodzi do lewego dolnego rogu terminala.

Poniższy przykład wstawia zawartość pliku wstaw.txt do naszego pliku:

Rysunek 83. Wstawianie zawartości pliku do innego pliku

Rezultat operacji przedstawia poniższy rysunek

Page 55: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

55 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 84. Wstawianie innych plików

Przeszukiwanie i podmienianie

Operacja przeszukiwania i zmiany ciągu znaków przeprowadzana jest w trybie poleceń,

komendy szukania wprowadzane są po „:” (dwukropku).

Podstawową ideą jest to, że edytor ma:

Przeszukać tekst w celu znalezienia starego wzorca;

Zamian go na nowy;

W edytorze vi służy do tego składnia:

s/stary_wzorzec/nowy_wzorzec/

Jednakże powyższa komenda zamieni tylko pierwszy wzorzec w danej linii.

Aby zmienić wzorzec we wszystkich liniach należy dodać selektor adresu precyzujący

zasięg linii tekstu od pierwszej (1) do ostatniej ($) oddzielając znaki przecinkiem.

Page 56: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

56 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 85. Przeszukiwanie i podmienianie

W powyższym przykładzie zastąpione zostają tylko pierwsze wystąpienia wzorca w

linii. Aby zastąpić wszystkie wystąpienia we wszystkich liniach należy dodać jeszcze

przyrostek g

Rysunek 86. Zastąpienie wzorca w pliku

Wynikiem operacji jest zamienienie wszystkich wystąpień litery b na literę w.

Rysunek 87. Rozszerzone podmienianie

Jeśli chcemy cofnąć operację wciskamy klawisz u, zaraz po jej wykonaniu.

Page 57: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

57 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Zapisywanie plików

Jeśli przy tworzeniu pliku podaliśmy już jego nazwę zapisywanie pliku odbywa się dwoma

sposobami.

Tabela 20. Opcje zapisywania plików

Opcje Znaczenie

:w Zapisuje plik i pozostaje w edytorze

:wq Zapisuje plik i zamyka edytor

Rysunek 88. Zapisywanie plików

ZZ zapisuje plik, jeśli został zmieniony, a następnie zamyka edytor bez potrzeby wpisywania

znaku : (dwukropka).

Jeśli przy otwieraniu wprowadzono więcej plików, wystarczy użyć :w aby zamknąć obecny,

oraz :n, aby przejść do następnego.

Aby wyjść bez zapisywania zmian wpisujemy komendę:

Rysunek 89. Zamknięcie edytora

Jeśli jednak przy otwieraniu edytora nie podaliśmy nazwy, wystarczy ją podać po komendzie

zapisu:

Page 58: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

58 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 90. Zapisywanie jako...

Zadania do samodzielnego rozwiązania

1. Stwórz plik tekstowy o dowolnej nazwie zawierający kilka linijek tekstu, polecenie

vi nazwa_pliku.txt;

Rysunek 91. Wprowadzony tekst do pliku

2. Pomiędzy trzecią, a czwartą linijką utwórz pusty wiersz i wprowadź przykładowy

tekst;

Page 59: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

59 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 92. Wprowadzenie nowego wiersza

3. Przejdź na początek linijki i usuń pierwszych 10 znaków, polecenie nx;

Rysunek 93. Wynik polecenia 10x

4. Zapisz plik i wyjdź z edytora, polecenie :wq;

Rysunek 94. Zapisanie pliku i wyjście z edytora

5. Stwórz drugi plik tekstowy o dowolnej nazwie, w treści wpisz swoje dane;

Page 60: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

60 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 95. Podgląd pliku dane.txt

6. Na koniec pliku wstaw zawartość wcześniej utworzonego pliku tekstowego, polecenie

:r nazwa_pliku.txt;

Rysunek 96. Połączenie obu plików

7. Zapisz plik nie wychodząc z edytora, polecenie :w;

Rysunek 97. Wynik zapisywania pliku

8. Wybierając jedno słowo z utworzonego pliku, zamień wszystkie jego wystąpienia na

inne dowolne słowo, polecenie :1,$s/a/b/g;

Page 61: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

61 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 98, Efekt podmiany wzorca

9. Zamknij edytor bez zapisywania zmian.

Rysunek 99. Zamknięcie pliku bez zapisu

Page 62: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

62 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Moduł 6: Administrowanie użytkownikami

Pojęcie użytkownika jest centralną częścią systemu Solaris. Wszystkie procesy i pliki w

systemie Solaris są „własnością” określonego użytkownika, oraz są przypisane do

konkretnych grup użytkowników. Żadne dane, bądź działania w systemie nie mogę wystąpić

bez ważnego użytkownika lub grupy. Zarzadzanie użytkownikami i grupami, jako

administrator systemu Solaris może okazać się trudnym zadaniem – ponosi się

odpowiedzialność za przypisanie wszystkich udzielonych, bądź niedozwolonych przywilejów

dla użytkowników, lub grup użytkowników, a wiele z tych uprawnień niesie za sobą wielkie

ryzyko.

W przeszłości, podjętych zostało kilka prób opracowania rozszerzalnego, łatwego w

użytkowaniu graficznego interfejsu do zarządzania użytkownikami i grupami w systemie

Solaris. Do niedawna głównym systemem zarządzania z graficznym interfejsem

użytkowników, dostarczonym z systemem był admintool. Jednakże, wraz z wydaniem Admin

Pack dla systemu Solaris 8 zostało udostępnione nowe narzędzie – Solaris Management

Consol (SMC).

Użytkownicy

Wszyscy użytkownicy w systemie Solaris posiadają unikatowy identyfikator i cechy, które

mogą być używane do rozróżniania użytkowników między sobą, oraz do logicznego

powiązania użytkowników do grup. Większość fizycznych użytkowników systemu Solaris

posiada unikatową nazwą użytkownika, która zajmuje maksymalnie osiem znaków. Jak już

konto użytkownika zostanie utworzone, może zostać wykorzystane do następujących celów:

Zarządzanie powłokami,

Interaktywne wykonywanie aplikacji,

Planowanie uruchamiania aplikacji w określonym czasie i na konkretnych danych,

Dostęp do baz danych i innych usług systemowych.

Solaris posiada również predefiniowanych użytkowników (tj. root, daemon, bin, sys, Ip, adm,

uucp) do wykonywania różnego rodzaju rutynowych prac konserwacyjnych, tj.:

Alokacja zasobów systemu do wykonywania określonych zadań;

Uruchamianie serwera pocztowego;

Uruchamianie serwera Web;

Zarządzanie procesami.

Wiele innych cech użytkownika związane są z każdym użytkownikiem, w uzupełnieniu do

nazwy użytkownika i hasła. Te cechy to:

Page 63: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

63 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Identyfikator użytkownika (UID) – unikalna liczba całkowita zaczynająca się od

użytkownika root (UID=0), kolejne przydzielane są zazwyczaj kolejno;

Elastyczny mechanizm rozróżniania różnych kategorii użytkowników, znany jako

grupy – grupy nie są tylko zestawem powiązanych użytkowników. System plików

Solaris pozwala przypisać do grup prawa czytania, zapisywania oraz wykonywania

plików, oprócz uprawnień przyznanych dla danego użytkownika;

Katalog domowy – domyślna lokalizacja przechowywania wszystkich plików

utworzonych przez danego użytkownika;

Rodzaj powłoki – używany do wydawania interaktywnych poleceń lub pisania

prostych programów;

Komentarz – przeważnie znajduje się tutaj pełna nazwa użytkownika.

Dodawanie użytkowników

Dodawanie użytkowników do systemu Solaris jest proste, jednakże operacja ta może być

wykonywana tylko przez użytkownika root. Są dwa sposoby dodawania użytkowników.

Pierwszy polega na edytowaniu pliku /etc/passwd. Prostszą metodą jest wykorzystanie

komendy useradd.

Tabela 21.Useradd - opcje wiersza polecenia

Opcje Znaczenie

-c Określa komentarz konta

-d Określa katalog domowy konta

-e Określa ważność konta

-f Określa interwał za zamknięcie konta

-g Określa grupę konta

-G Określa dodatkowe grupy konta

-k Określa katalog, który zawiera informacje szkieletu, które będą

kopiowane do nowego konta użytkownika

-m Tworzy katalog domowy użytkownika, jeśli nie istnieje

-s Określa pełną ścieżkę dostępu do powłoki logowania

-u Określa identyfikator użytkownika

#useradd -u uid -g gid -d katalog_domowy -s ścieżka_powłoki -c komentarz

nazwa_użytkownika

Dodawanie użytkownika o następujących parametrach:

Nazwa: jkowal

Komentarz: Jan Kowal

Powłoka: /usr/bin/bash

Składnia polecenia useradd wygląda następująco

Page 64: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

64 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 100. dodawanie użytkownika poprzez terminal

W tym przypadku w linii poleceń podaliśmy identyfikator użytkownika oraz grupy. Jednakże

nie jest to wymagane, w systemach Solaris identyfikator jest definiowany, jako następna

wolna wartość na podstawie pliku /etc/passwd. Dla grup, domyślną wartością ID jest 1.

Powyższa komenda tworzy wpis w pliku /etc/passwd

Rysunek 101. Wyświetlony plik /etc/passwd

Aby dodać użytkownika przez SMC, uruchamiamy SMC wpisując w terminalu smc. W nowo

otwartym oknie wybieramy This Computer (172.0.0.1), Następnie System Configuration,

Users i Users Accounts.

Z paska zadań wybieramy Action->Add User->With Wizard…

Page 65: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

65 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 102. Okno SMC

W pojawiającym okienku podajemy nazwę użytkownika oraz opcjonalnie pełną nazwę i

komentarz:

Rysunek 103. Dodawanie użytkownika

Klikamy Next, w następnym okienku ustawiamy identyfikator:

Page 66: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

66 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 104. Ustawianie jego numeru ID

Następnie ustalamy hasło użytkownika:

Rysunek 105. Ustawianie hasła

Wybieramy grupę:

Rysunek 106. Wybór grupy

Page 67: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

67 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Oraz katalog domowy:

Rysunek 107. Przypisanie katalogu domowego

Na końcu wyświetli się podsumowanie, klikamy Finish:

Rysunek 108. Okno podsumowujące

Modyfikowanie użytkowników

Komenda usermod przeznaczona jest do modyfikowania już utworzonych kont

użytkowników na systemach UNIX. Wykorzystuje dużo tych samych opcji wiersza poleceń,

co komenda useradd, dodatkowo wspiera kilka nowych.

Tabela 22. Usermod - opcje wiersza poleceń

Opcje Znaczenie

-l Zmiana nazwy użytkownika

-L Blokuje konto użytkownika (tylko Linux)

Page 68: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

68 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

-m Zmiana katalogu użytkownika

-U Odblokowuje konto użytkownika (tylko Linux)

-u Zmiana identyfikatora użytkownika

Aby zmienić pole komentarza użytkownika jkowal, należy wpisać:

Rysunek 109. Zmiana parametrów konta

Aby modyfikować użytkownika przy pomocy SMC, klikamy na nim prawym przyciskiem

myszki i wybieramy Properties.

Rysunek 110. Modyfikowanie użytkownika

Page 69: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

69 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

W tym miejscu możemy zmienić wszystkie parametry konta:

Rysunek 111. Okno właściwości użytkownika

Usuwanie użytkowników

Polecenie userdel usuwa użytkowników z systemu. Komenda ta wspiera tylko jedną opcję

wiersza poleceń, -r, co powoduje usunięcie użytkownika wraz z katalogiem domowym.

Aby usunąć wcześniej utworzonego użytkownika należy wpisać komendę:

Rysunek 112. Usuwanie konta użytkownika

Usuwanie użytkownika przy pomocy SMC sprowadza się do wybrania opcji Delete po

kliknięciu prawym przyciskiem myszki na danym użytkowniku

Rysunek 113. Usuwanie użytkownika

Page 70: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

70 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

W pojawiającym się okienku można wybrać usunięcie katalogu domowego i skrzynki

pocztowej

Rysunek 114. Potwierdzenie usunięcia

Dodawanie grup

Za dodawanie grup odpowiada komenda groupadd. Dodaje ona wpis do pliku /etc/group.

Składnia tego polecenia wygląda następująco:

#groupadd -g gid -o nazwa_grupy

Tabela 23. Groupadd - opcje wiersza poleceń

Opcje Znaczenie

-g <gid> Przypisuje identyfikator grupy

-o Pozwala, by identyfikator był powtarzany (tj., kilka grup o różnych

nazwach posiada ten sam identyfikator)

Poniższy przykład doda nową grupą o nazwie akademia o identyfikatorze 1000:

Rysunek 115. Dodawanie grupy przez terminal

W pliku /etc/group powstał nowy wpis

Page 71: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

71 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 116. Plik /etc/group

Aby dodać grupę za pomocą SMC przechodzimy kolejno do SMC->This Computer

(127.0.0.1)->System Configuration->Users->Groups. Z paska zadań wybieramy Action->Add

Group…

Rysunek 117. Dodawanie grupy

W powstałym oknie wpisujemy nazwę grupy, ustawiamy identyfikator, oraz możemy

przydzielić użytkowników do nowotworzonej grupy

Page 72: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

72 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 118. Wprowadzanie parametrów

Modyfikowanie grup

Do modyfikowania parametrów grup służy polecenie groupmod. Składnia tego polecenia

wygląda następująco:

#groupmod -g gid -o -n nowa_nazwa nazwa_grupy

Tabela 24. Groupmod - opcje wiersza poleceń

Opcje Znaczenie

-g <gid> Przypisuje identyfikator grupy

-o Pozwala, by identyfikator był powtarzany (tj, kilka grup o różnych

nazwach posiada ten sam identyfikator)

-n <nowa_nazwa> Zmienia nazwę grupy

Poniższy przykład zmieni identyfikator grupy akademia na wartość 2000:

Rysunek 119. Zmiana parametrów grupy

Aby modyfikować grupę przy pomocy SMC klikamy na nią prawym przyciskiem myszki i

wybieramy Properties.

Page 73: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

73 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 120. Okno właściwości grupy

Usuwanie grup

Do usuwania grup służy polecenie groupdel. Składnia przedstawia się następująco:

#groupdel nazwa_grupy

Poniższy przykład usunie grupę akademia:

Rysunek 121. Usuwanie grupy

Aby usunąć grupą przy pomocy SMC wybieramy Delete po kliknięciu prawym klawiszem

myszki na daną grupę

Page 74: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

74 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 122. Usuwanie grupy

Zarządzanie hasłami

Wszystkie hasła przechowywane są w pliku /etc/shadow w postaci zaszyfrowanej.

Użytkownik beż ustawionego hasła posiada w nim następujący wpis

Rysunek 123. Plik /etc/shadow przed ustawieniem hasła

Aby ustawić, bądź zmienić hasło użytkownika poprzez terminal wykorzystywana jest funkcja

passwd.

Tabela 25. Opcje zarządzania hasłami

Opcje Znaczenie

-s <nazwa> Wyświetla atrybuty hasła dla poszczególnego użytkownika

-d <nazwa> Usuwa hasło dla danego użytkownika

-e <nazwa> Zmienia powłokę użytkownika

-f <nazwa> Zmusza użytkownika do zmiany hasła przy następnym logowaniu

-h <nazwa> Zmienia katalog domowy użytkownika

Page 75: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

75 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

-l <nazwa> Blokuje konto użytkownika

-N <nazwa> Sprawia, że podane hasło dla danego użytkownika nie może być

wykorzystywane do logowania, nie blokuje konta

-u <nazwa> Odblokowuje konto użytkownika

Zmiana hasła dla użytkownika jkowal wygląda następująco:

Rysunek 124. Ustawianie hasła

Hasło w postaci zaszyfrowanej zostaje zapisane w pliku /etc/shadow. Powyższe ustawienie

hasła dodaje następującą linijkę w tym pliku:

Rysunek 125. Plik /etc/shadow po ustawieniu hasła

Do ustawienia, bądź zmiany hasła przy pomocy SMC postępujemy zgodnie z opisem jak przy

dodawaniu, bądź modyfikacji parametrów użytkownika z wykorzystaniem interfejsu SMC.

Zadania do samodzielnego rozwiązania

1. Stwórz nową grupę o dowolnych parametrach;

Rysunek 126. Utworzenie przykładowej grupy test

2. Stwórz nowego użytkownika jednocześnie przypisując go do tej grupy;

Page 76: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

76 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 127. Utworzenie użytkownika user

3. Wyświetl informacje o nowo utworzonym użytkowniku z pliku /etc/passwd (komenda

cat);

Rysunek 128. Podgląd pliku /etc/passwd

4. Sprawdź utworzoną grupę i jej użytkowników, plik /etc/group;

Rysunek 129. Podgląd pliku /etc/group

5. Zmień grupę i opis utworzonemu użytkownikowi;

Page 77: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

77 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 130. Zmiana parametrów konta user

6. Usuń utworzoną wcześniej grupę;

Rysunek 131. Usunięcie grupy test

7. Sprawdź wpis w pliku /etc/shadow odpowiadający utworzonemu użytkownikowi;

Rysunek 132. Podgląd pliku przed ustawieniem hasła

8. Wyloguj się z systemu, a następnie spróbuj się zalogować na nowo utworzone konto;

Rysunek 133. Wylogowywanie użytkownika

Logowanie, z powodu nie ustawionego hasła nie powiedzie się.

9. Zaloguj się jako root, ustaw hasło dla utworzonego użytkownika, z koniecznością

zmiany przy pierwszym logowaniu;

Page 78: Akademia Oracle Kariera Inżyniera Systemy operacyjne UNIX ... - akademia oracle.pdf · Tabela 1. Opis poszczególnych elementów ... /usr/bin/ksh powłoka Korna, łączy właściwości

78 | Z a k ł a d S y s t e m ó w R o z p r o s z o n y c h - P o l i t e c h n i k a R z e s z o w s k a

Rysunek 134. Ustawianie hasła użytkownikowi user

10. Sprawdź zmiany w pliku /etc/shadow;

Rysunek 135. Podgląd pliku po ustawieniu hasła

11. Ponownie spróbuj zalogować się na utworzonego użytkownika;

Rysunek 136. Logowanie jako użytkownik user

12. Zaloguj się jako root, zablokuj użytkownika i spróbuj się zalogować na jego konto;

Rysunek 137. Blokowanie użytkownika

13. Zaloguj się jako root i usuń użytkownika wraz z katalogiem domowym.

Rysunek 138. Usuwanie użytkownika