ssh

Transkrypt

ssh
Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki
Katedra Robotyki i Mechatroniki
SIECI
KOMPUTEROWE I BAZY DANYCH
ĆWICZENIE NR 4
Temat:
PRACA ZDALNA W SIECI – USŁUGI TELNET ORAZ SSH
Praca zdalna w sieci
TELNET - protokół zdalnej sesji
Protokół telnet jest tzw. protokołem zdalnej sesji. Oznacza to, że program korzystający z tego
protokołu (często również o nazwie "telnet") umożliwia komunikację ze zdalnym komputerem.
Przy pomocy telnet-u można więc poprzez sieć Internet zalogować się na się na odległym serwerze
i pracować na nim tak, jak przy pomocy fizycznie podłączonego doń terminala. Protokół ten,
powstał jako jedna z pierwszych usług dostępnych w sieci Internet. Aktualnie został on wyparty
przez protokół Secure Shell, który oferuje szyfrowanie zarówno wprowadzanego hasła, jak i całego
przebiegu sesji. Właśnie ze względu na fakt, że w przypadku korzystania z telnet-u, cała treść
Twojego dialogu ze zdalnym komputerem przesyłana jest siecią bez żadnego zabezpieczenia (co
umożliwia np. podsłuchanie Twojego hasła), wykorzystywanie tego protokołu nie jest zalecane i
powinno zostać ograniczone do sytuacji, w których protokół Secure Shell nie jest dostępny.
System Windows (95/98/ME/NT/2000) zawiera prosty program o nazwie telnet umożliwiający
zestawienie zdalnej sesji. W przypadku, jeśli nie masz na pulpicie ani na pasku zadań skrótu do
programu telnet, w celu jego uruchomienia kliknij przycisk "Start", następnie wybierz polecenie
"Uruchom", wprowadź nazwę programu telnet i kliknij przycisk "OK".
SSH - bezpieczny protokół zdalnej sesji
Protokół ssh jest jednym z tzw. protokołów zdalnej sesji. Oznacza to, że program korzystający z
tego protokołu (często również o nazwie zawierającej skrót "ssh") umożliwia komunikację ze
zdalnym komputerem. Przy pomocy ssh można więc poprzez sieć Internet zalogować się na się na
odległym serwerze i pracować na nim tak, jak przy pomocy fizycznie podłączonego doń terminala.
Inaczej jednak niż w przypadku protokołu telnet, protokół ssh zapewnia szyfrowanie całej
transmisji (łącznie z nazwą konta oraz hasłem, transmitowanym podczas sekwencji logowania się
na serwerze). Protokół ten udostępniony początkowo w wersji 1 szybko ewoluował i aktualnie
częściej używana jest jego 2-ga wersja. Oprogramowanie sieciowe zainstalowane na serwerze sklab
potrafi połączyć się z programem - klientem ssh przy pomocy obu wersji protokołu. Oczywiście, ze
względu na liczne udoskonalenia włączone do wersji 2 protokołu, zalecane jest posługiwanie się tą
właśnie wersją.
Zasada działania protokołu ssh opiera się na kryptograficznej technologii RSA i jest następująca:
każdy z komputerów, na którym zainstalowane jest oprogramowanie ssh posiada parę kluczy: tzw.
klucz prywatny dostępny tylko dla administratora komputera (i oczywiście oprogramowania
systemowego obsługującego protokół ssh) oraz klucza publicznego dostępnego dla wszystkich
użytkowników sieci. Klucze te są tak zbudowane, że informację zaszyfrowaną kluczem prywatnym
można rozszyfrować tylko przy pomocy klucza publicznego i odwrotnie informację zaszyfrowaną
kluczem publicznym można rozszyfrować wyłącznie przy pomocy klucza prywatnego. Klucze są
więc ze sobą powiązane, ale żadnego z nich nie można odtworzyć na podstawie znajomości
drugiego. Połączenie ssh inicjowane jest po stronie programu - klienta ssh. Klient łączy się z
serwerem i otrzymuje od niego jego klucz publiczny. Klucz ten porównywany jest z zachowanym w
wewnętrznej bazie danych klienta, z poprzednich połączeń. W przypadku wykrycia niezgodności
kluczy wyświetlane jest specjalne ostrzeżenie umożliwiające przerwanie połączenia. Następnie,
klient przekazuje serwerowi swój klucz publiczny, generuje losową 256 bitową liczbę, szyfruje ją
przy pomocy swojego klucza prywatnego oraz klucza publicznego serwera. Serwer po otrzymaniu
tak zakodowanej liczby rozszyfrowuje ją przy pomocy swojego klucza prywatnego i klucza
publicznego klienta. Tak otrzymana liczba jest losowa a ponadto znana tylko klientowi i serwerowi.
Jest ona używana jako klucz do kodowania podczas dalszej komunikacji.
W trakcie prac nad protokołem ssh opracowano liczne jego udoskonalenia i rozszerzenia. Jednym
z nich jest możliwość autoryzacji użytkowników przy pomocy pary kluczy RSA (podobnie, jak
podczas nawiązywania połączenia ssh pomiędzy klientem i serwerem). Jest to znacznie
bezpieczniejszy sposób logowania się na serwerze niż przy pomocy tradycyjnych haseł. Aby
używać autoryzację RSA należy wygenerować parę kluczy (swój klucz prywatny i klucz
publiczny). W systemach unixowych do tego celu służy program ssh-keygen. Jego opis możemy
obejrzeć wydając komendę "man ssh-keygen". Wygenerowany klucz publiczny należy umieścić w
pliku identity.pub w podkatalogu .ssh swojego katalogu domowego. Klucz prywatny należy
przenieść w bezpieczne miejsce, np. na swój prywatny komputer lub na noszoną ze sobą dyskietkę.
Dla zwiększenia bezpieczeństwa można podczas tworzenia pary kluczy RSA zażądać dodatkowego
zaszyfrowania klucza prywatnego wymyślonym przez siebie hasłem. W takim przypadku, przed
każdym wykorzystaniem swojego klucza prywatnego do uzyskania połączenia z serwerem
konieczne jest podanie hasła rozkodowującego klucz. Wiele programów - klientów ssh umożliwia
wykorzystanie autoryzacji RSA zamiast wprowadzania tradycyjnych haseł.
Innym rozszerzeniem oprogramowania realizującego połączenia ssh jest protokół scp
umożliwiający bezpieczne przesyłanie plików. Powoli wypiera on opracowany w początkach
istnienia sieci Internet protokół ftp, którego podstawową wadą była możliwość podsłuchania
zarówno hasła jak i zawartości transmisji.
PuTTY - klient secure shell dla MS Windows
Program PuTTY, jest darmowym emulatorem terminala dla systemów MS Windows, obsługującym protokoły
telnet oraz SSH w wersji 1 oraz 2. Program nie wymaga instalacji - wystarczy umieścić go w wybranym katalogu i
utworzyć do niego skrót w Menu Start lub na pulpicie Windows.
Po uruchomieniu programu na ekranie pojawia się okienko konfiguracyjne. Jest ono podzielone
na dwie części. Z lewej strony w pionowym oknie znajduje się menu konfiguracyjne, natomiast z
prawej strony pojawiają się pola i opcje wybierane i wprowadzane podczas konfiguracji programu
(rys. 6.1). W celu konfiguracji sesji ssh na serwerze sklab wybierz pozycję menu Session, następnie
wprowadź adres serwera: 149.156.115.209 i zaznacz protokół "SSH". Automatycznie zostanie
wybrany port 22, na którym odbierane są przez serwer żądania otworzenia sesji ssh. W małym
okienku umieszczonym pod napisem "Saved Sessions" wprowadź wybraną przez Ciebie nazwę
sesji, np. sklab.
Rys. 6.1 Widok okna konfiguracyjnego programu PuTTY – konfiguracja ustawień sesji
W menu "Terminal" zaznacz opcje "Auto wrap mode initially on" (rys. 6.2).
Rys. 6.2 Widok okna konfiguracyjnego programu PuTTY – konfiguracja ustawień terminala
Menu "Keyboard" wypełnij tak, jak na rysunku 6.3. Bardzo ważne jest zaznaczenie opcji
"Application and AltGr act as Compose key". Pozwoli ono na wprowadzanie polskich znaków
diakrytycznych przy pomocy prawego klawisza Alt.
Rys. 6.3 Widok okna konfiguracyjnego programu PuTTY – konfiguracja ustawień klawiatury
Podobnie menu "Window" wypełnij zgodnie z rysunkiem 6.4.
Rys. 6.4 Widok okna konfiguracyjnego programu PuTTY – konfiguracja ustawień okna
W menu "Apperance" (rys. 6.5) wypełnij pole "Window title". Po kliknięciu klawisza
"Change..." wybierz font, który będzie używany przez emulator terminala.
Rys. 6.5 Widok okna konfiguracyjnego programu PuTTY – konfiguracja wyglądu
Proponujemy wybór fontu Lucida Console (rys. 6.6). Możesz oczywiście użyć innego fontu,
ważne jednak, by zawierał on zestaw znaków dla Europy Środkowej.
Rys. 6.6 Widok okna konfiguracyjnego programu PuTTY – wybór czcionki
W menu "Translation" (rys. 6.7) zaznacz opcję "Use font in both ANSI and OEM modes" oraz
"Character set translation on received data: UTF-8". Ta druga opcja spowoduje, że program PuTTY
będzie dokonywał automatycznego tłumaczenia znaków ze strony kodowej UTF-8, obowiązującej
na serwerze na kodowanie aktualnie obowiązującą w systemie MS Windows. Pozwoli to na
poprawne wprowadzanie z klawiatury oraz wyświetlanie na ekranie polskich znaków
diakrytycznych.
Rys. 6.7 Widok okna konfiguracyjnego programu PuTTY – konfiguracja ustawień systemu znaków
Menu "Selection" pozostawiamy bez zmian.
Podobnie postępujemy z menu "Colours", choć możemy oczywiście wybrać inny zestaw kolorów
niż standardowy.
W menu "Connection" w oknie "Auto-login username" możesz wprowadzić nazwę konta, na
które będziesz się logować. Możesz również pozostawić to okno nie wypełnione. W takim
przypadku, program PuTTY zapyta Cię o nazwę konta przed nawiązaniem połączenia z serwerem.
Pomijamy pozycję menu: "Telnet". W menu "SSH" w pozycji "Preferred SSH protocol version
(Preferowana wersja protokołu SSH)" zaznacz w przypadku serwera sklab opcję "2". Nie wszystkie
serwery unixowe obsługują wersję 2 protokołu SSH, dla niektórych serwerów właściwym wyborem
będzie więc "1". W pozycji "Preferred encryption algorithm" pozostaw listę bez zmian.
Wróć teraz do pozycji menu: "Session". Kliknij przycisk "Save", co spowoduje zapamiętanie w
rejestrze Windows parametrów skonfigurowanej przed chwilą sesji pod wybraną przez Ciebie
nazwą.
W celu uruchomienia skonfigurowanej sesji, wystarczy po uruchomieniu programu PuTTY i
pojawieniu się jego okna konfiguracyjnego zaznaczyć w prawym oknie tekstowym nazwę sesji,
którą chcesz otworzyć, następnie kliknąć na niej dwa razy lub nacisnąć przycisk "Load", a w
następnej kolejności przycisk "Open" (rys. 6.8).
Rys. 6.8 Widok okna konfiguracyjnego programu PuTTY – wybór sesji
Jeśli z danym serwerem łączysz się po raz pierwszy, pojawi się okno ostrzegające, że przesłany
przez serwer tzw. "publiczny klucz serwera" nie jest znany Twojemu komputerowi. W takim
przypadku naciśnij przycisk "Tak". Ekran z rysunku 6.9 pojawi się także w przypadku, jeśli klucz
publiczny serwera uległ zmianie. Ponieważ administratorzy zmieniają klucze serwerów bardzo
rzadko, może to oznaczać, że jakiś obcy komputer próbuje podszyć się pod serwer, z którym chcesz
uzyskać połączenie. Jeśli masz jakiekolwiek wątpliwości, kliknij przycisk "Nie" przerywając
nawiązanie połączenia i skontaktuj się z administratorem serwera.
Rys. 6.9 Nawiązywanie połączenia za pomocą programu PuTTY
Po nawiązaniu połączenia i ewentualnym wprowadzeniu nazwy konta (jeśli nie skonfigurowałeś
jej w parametrach danej sesji), serwer zapyta Cię o hasło (rys. 6.10). Wprowadzane przez Ciebie
znaki nie będą wyświetlane na ekranie.
Rys. 6.10 Widok okna programu PuTTY - autentykacja
Jeśli hasło zostało poprawnie zweryfikowane przez serwer, możesz rozpocząć teraz zdalną sesję
na serwerze (rys. 6.11). Cały przebieg sesji (łącznie z nazwą Twojego konta i hasłem) przesyłany
jest poprzez sieć Internet w postaci zaszyfrowanej. Nie jest więc możliwe przechwycenie żadnych
danych transmitowanych pomiędzy Twoim lokalnym komputerem a zdalnym serwerem. Polskie
znaki diakrytyczne możesz wprowadzać zgodnie z tzw. klawiaturą programisty (posługując się
prawym klawiszem Alt).
Rys. 6.11 Widok okna programu PuTTY – praca z narzędziem
Na zakończenie sesji wprowadź komendę exit, która wyloguje Cię z serwera i przerwie
połączenie.
Praca w systemie Linux
Składnia
Wszystkie (prawie) polecenia i aplikacje pisane dla systemu Linux mają taką samą składnię:
komenda
opcje
argumenty
co zrobić?
jak zrobić?
dla jakich danych?
Poszczególne elementy składni są oddzielane znakiem odstępu.
Komenda to nazwa programu lub polecenia powłoki.
Opcje to element składni, który umożliwia modyfikację sposobu działania komendy. Może
wystąpić, ale nie musi. Opcje to zwykle pojedycze litery poprzedzone znakiem minus, np: -k -l -p i
jeśli dopuszczalne są takie trzy opcje to najczęściej można je zapisać jako -klp. Opcje mogą
wymagać, aby bezpośrednio po oznaczeniu opcji wystąpił tekst (np: nazwa pliku). Opcja może więc
mieć postać: -o program.o. W Linuksie używa się również opcji w postaci słowa poprzedzonego
dwoma znakami minus, opcja może więc mieć postać - -help i nie oznacza połączenia czterech
różnych opcji (-h -e -l -p) ale pojedynczą opcję. Ten sposób pisania opcji jest jednocześnie skróconą
informacją o roli jaką pełni dana opcja. Zwykle opcje literowe i słowowe można używać zamiennie
np: opcja -r jest równoważna opcji - -reverse i obydwie mogą oznaczać, np. to, że porządkowanie
należy wykonać rosnąco zamiast malejąco.
Argumenty to najczęściej nazwy plików, ale mogą mieć również inne znaczenie. W wielu
poleceniach argumenty również mogą, ale nie muszą wystąpić. Argumenty zwykle określają jaki
plik, czy też pliki należy potraktować jako dane. Jeśli argument nie występuje, to może być
przyjmowany argument domyślny, np. bieżący katalog, dane będą wprowadzane z klawiatury itp.,
zależnie od polecenia.
Listowanie katalogów
Prześledzimy składnię polecenia listującego zawartość katalogu. W dokumentacji systemu ma ona
postać:
ls [OPTION]...[FILE]...
Napisy, które mogą wystąpić ale nie muszą są zapisywane w nawiasach kwadratowych, dotyczy to
jak widać zarówno opcji jak i argumentów. Trzy kropki oznaczają, że zarówno opcji jak i
argumentów może być wiele. Takie reguły obowiązują w podręczniku systemowym. Prześledźmy
kilka przykładów użycia polecenia ls.
o
ls
wyprowadzi na monitor nazwy plików z bieżącego katalogu. W poleceniu nie występują
ani opcje ani argumenty.
o
ls
/
wyprowadzi na monitor nazwy plików z katalogu /. W poleceniu nie występują opcje,
występuje natomiast argument i jest nim katalog /.
o
ls
-l
wyprowadzi na monitor zawartość katalogu bieżącego, ale oprócz nazw plików pojawi się
sporo więcej informacji na temat każdego pliku.
o
ls
-l
/etc
wyprowadzi na monitor zawartość katalogu /etc z obszerną informacją o plikach.
o
ls
-a
wyprowadzi na monitor zawartość bieżącego katalogu z uwzględnieniem plików, których
nazwy zaczynają się od kropki - zwykle są to pliki konfiguracyjne.
W związku z tym, że polecenie ls -l jest wykonywane wielokrotnie zostało, po uzupełnieniu
kilkoma opcjami (mającymi znaczenie tylko kosmetyczne) i po wzbogaceniu o stronicowanie,
zastąpione (alias) poleceniem l. Można prześledzić działanie poniższych poleceń:
•
•
•
l
l ..
l -a
Prawa dostępu do plików
Podczas listowania katalogu np. poleceniem l -a wyświetlana jest np. następująca informacja:
drwxr-x--drwxrwxr-x
-rw-------rw-r--r--rw-r--r--rw-r--r-drwx------rw-------rw------drwx-----drwx-----drwx------rwx------
57
24
1
1
1
1
5
1
1
2
2
2
1
user
root
user
user
user
user
user
user
user
user
user
user
user
group
root
group
group
group
group
group
group
group
group
group
group
group
3072
1024
10246
24
151
1574
1024
12175
1161
1024
1024
1024
30
Jan
Jan
Jan
Apr
Mar
Oct
Jan
Jan
Dec
Nov
Jan
Jan
Jun
14
5
14
2
26
18
14
3
21
17
14
14
6
14:18
11:10
14:18
1998
1999
10:51
12:03
09:16
12:41
14:43
10:52
14:22
1997
./
../
.bash_history
.bash_logout
.bash_profile
.bashrc
.netscape/
.pinerc
choinka
prezenty/
mail/
nsmail/
zmien*
i oznacza kolejno:
•
•
•
•
•
•
•
•
typ pliku i prawa dostępu do niego,
liczba dowiązań (na razie to pominiemy)
właściciel pliku
grupa pliku
rozmiar (w bajtach) pliku
data ostatniej modyfikacji pliku
nazwa pliku
znak określający rodzaj pliku:
• / - katalog
• * - plik wykonywalny
• itd.
Warto rozszyfrować informację o prawach dostępu do pliku i typie pliku (pierwszych dziesięć
znaków z listy plików). Opis praw dostępu znajduje się na poniższym rysunku (rys. 6.12).
Rys. 6.12 Prawa dostępu
Nie wyczerpuje to wszystkich możliwości, ale z pozostałymi spotykamy się rzadziej i w tym
miejscu nie będą omawiane.
Prawa czytania, pisania czy też wykonania dla plików zwykłych są oczywiste. Takie same prawa
nadajemy katalogom i to już nie jest takie oczywiste. Tak, więc:
•
•
•
Prawo czytania katalogu jest prawem czytania wyłacznie spisu plików - tzn. ich nazw, np.
nie można odczytać ani praw dostępu do pliku, ani tym bardziej zawartości pliku, nawet jeśli
mamy takie uprawnienia do pliku w tym katalogu.
Prawo pisania do katalogu, które jest uprawnieniem do dopisywania plików, kasowania
plików, a więc operowania na spisie. Przy czym jest prawem martwym, jeśli nie ma
uprawnienia wykonania. Tworzenie nowych plików i kasowanie plików wymaga dostępu do
i-węzła, czyli tworzenia względnie kasowania pełnej informacji o pliku.
Prawo wykonania dla katalogu umożliwia dostęp do i-węzła, czyli możliwość odczytania
adresu dyskowego pliku. I wykonania na nim tych operacji, do jakich mamy uprawnienia
wynikające z uprawnień do pliku i katalogu.
Jeśli więc chcemy czytać, tworzyć, poprawiać, kasować pliki w danym katalogu musimy mieć do
niego prawa rwx.
Powstaje pytanie kto nadaje uprawnienia plikom? Każdy nowo powstający plik otrzymuje
uprawnienia zgodnie z konfiguracją powłoki w danym systemie. Każdy użytkownik może zdjąć
uprawnienia dla wszystkich tworzonych plików przez zmianę konfiguracji powłoki. Każdy
użytkownik może nadać dowolne uprawnienia pojedynczym plikom (tylko tym, których jest
właścicielem). Jak? O tym później.
Znaki uogólniające i inne ułatwienia
Zanim przejdziemy do omawiania innych poleceń zapoznajmy się z ułatwieniami jakie daje
powłoka bash - przydadzą się napewno.
•
Jeśli napiszesz kilka początkowych znaków polecenia, to po naciśnięciu znaku tabulacji[TAB] zostanie ono uzupełnione do pełnej nazwy, o ile będzie jedynym poleceniem
zaczynającym się od znaków napisanych przez ciebie. Jeśli będzie ich więcej, to ponowne
wciśnięcie znaku [TAB] wyświeti je wszystkie. Jeśli będzie ich zbyt dużo, to zostaniesz
zapytany czy chcesz obejrzeć wszystkie możliwości. Np.
Wydajesz polecenie:
•
•
p[TAB]
usłyszysz sygnał dźwiękowy, oznacza to, że poleceń zaczynających się od litery p
jest więcej niż jedno. Jeśli napiszesz
p[TAB][TAB] dostaniesz informację:
There are 290 possibilities. Do you really
•
•
•
wish to see them all? (y or n)
możesz więc otrzymać spis poleceń zaczynających się od litery p, ale jest ich aż 290.
Możesz odpowiedzieć tak lub nie. Jeśli napiszesz
• passw[TAB]
otrzymasz napis
• passwd
i usłyszysz sygnał dźwiękowy, oznacza to, że jest więcej niż jedno polecenie
zaczynające się od passwd ( litera d zostanie dopisana). Jeśli napiszesz
• passw[TAB][TAB]
dostaniesz spis złożony z dwóch poleceń: passwd passwd.noyp
Jeśli napiszesz kilka początkowych znaków argumentu, to z bieżącego katalogu zostanie
wybrany plik zaczynający się od napisanych znaków, o ile będzie jedyny. Dalej możesz
postępować analogicznie jak porzednim punkcie.
Tak więc, 2 znaki tabulacji napisane na pozycji polecenia, to nic innego jak wylistownia
wszystkich poleceń znajdujących się na ścieżce przeszukiwania, a 2 znaki tabulacji
wciśnięte na pozycji argumentu, to po prostu wylistowanie bieżącego katalogu.
Poza tym możesz odwoływać się do historii wykonywanych poleceń wciskając ,,strzałkę do
góry'' lub ,,strzałkę w dół''.
Przydatne będą również znaki ugólniające zestawione w tabeli 8.1.
Tabela 8.1
Znaki uogólniające stosowane w systemach uniksowych.
znak
zastępuje
*
dowolny ciąg znaków (również pusty)
?
jeden znak
[dowolny_ciąg_znaków jeden ze znaków występujących w ciągu.
]
Przykłady:
•
ls ks*
wyświetli nazwy plików zaczynają się od liter ks i wszystkie pliki zapisane w kartotech o
nazwach zaczynających od liter ks,
•
ls ??aaa
wyświetli listę plików, których nazwy składają się z 5 znaków i ostatnie trzy znaki to 3 litery
"a" ( np.: weaaa 4daaa i tym podobne) oraz pliki zapisane w kartotech o nazwach
spełniających ten warunek.
•
ls [abc]?x
wyświetli listę plików, których nazwy zaczynają się od litery "a" lub od litery "b" bądź od
litery "c", po których następuje dowolny znak i na końcu nazwy jest litera "x" (np.: atx box
cfx i tym podobne) oraz pliki zapisane w kartotech o nazwach spełniających ten warunek.
Przeglądanie plików tekstowych
W systemach unix'owych dostępna jest duża ilość narzędzia pozwalających na pracę z tekstem. Są
to zazwyczaj polecenia o prostej składni pozwalające na wykonanie konkretnych czynności. Poniżej
zaprezentowano pewien wyselekcjonowany podzbiór tych narzędzi pozwalających na
przeprowadzenie podstawowych operacji z plikami tekstowymi.
•
•
•
•
•
•
•
•
more plik1 plik2 ..
Przeglądanie plików strona po stronie, wiersz po wierszu (tylko do przodu) i na kilka innych
sposobów. Jeśli chcesz się dowiedzieć jak wykonaj polecenie more dla pliku którego
długość przekracza jeden ekran i wciśnij znak "h" (help) a dostaniesz potrzebną informację.
less plik
Polecenie analogiczne do poprzedniego, ale umożliwia przeglądanie do przodu i do tyłu.
Jak? patrz wyżej.
cat plik1 plik2 ..
Łączy pliki i wynik tej operacji przesyła na monitor. Użyte do krótszego niż jeden ekran
pliku pozwala na jego przeglądnięcie.
nano plik
Edytor tekstów. Łatwy ale niewiele w nim można. A przy pisaniu większych tekstów można
przede wszystkim stracić cierpliwość i oczy.
vi plik
Edytor tekstów. Najstarszy i najbardziej zasłużony edytor unixowy. Dla posługujących się
nim od lat jest edytorem kultowym. Trudno go jednak nazwać edytorem przyjaznym. Można
w nim wszystko pod warunkiem że się wie jak. Wyjście z edytora z zapisem to: Esc a potem
dwa razy Shift z
tee plik
Zapisze tekst wprowadzany z klawiatury do pliku i wyświetli go na monitorze bezpośrednio po każdej wprowadzonej linii. Chcąc zakończyć pisanie tekstu musisz w
nowej linii wcisnąć [Ctrl-d].
head -n liczba plik
Przeglądanie określonej -n liczby początkowych linii pliku. Jeśli pominiesz opcję -n liczba to
ujrzysz 10 początkowych linii pliku.
tail -n liczba plik
Przeglądanie określonej -n liczby końcowych linii pliku. Jeśli pominiesz opcję -n liczba to
ujrzysz 10 końcowych linii pliku.
Wykonywanie podstawowych operacji na systemie plików
Praca z systemem plików związana jest z wykonaniem podstawowych operacji takich jak
tworzenie, kopiowanie czy zmiana nazw wybranych plików. Są to bardzo proste czynności jednak
obecnie przyzwyczajenia związane z wykorzystaniem interfejsów graficznych powodują iż wiele
osób ma problemy z wykonaniem tych czynności bez użycia narzędzi działających w trybie
graficznym. Poniżej zestawiono podstawowe narzędzia pozwalające na proste zarządzanie
systemem plików w systemie unix.
Zakładanie katalogu, zmiana katalogu bieżącego:
•
•
•
mkdir katalog
Jest to założenie nowego katalogu o nazwie katalog - nazwa ta może być dowolna. Będzie to
pod katalog bieżącego katalogu. Jeśli chesz zobaczyć efekt wykonania takiego polecenia
musisz wylistować bieżący katalog.
cd ścieżka
Bieżącym katalogiem stanie się ścieżka, która może być podana w sposób względny lub
bezwzględny.
cd ~
Katalogiem bieżącym staje się katalog domowy, bez względu na to, który katalog był
bieżącym w chwili wydania tego polecenia, czyli jest to powrót do domu.
Kasowanie plików zwykłych i katalogów:
•
•
•
•
•
rm plik1 plik2 ...
Kasowanie wymienionych plików bez możliwości ich odtworzenia.
rm -i plik1 plik2 ...
Przy każdym kasowaniu pliku będzie się ukazywało żądanie potwierdzenia kasowania. W
tym systemie rm jest równoważne z rm -i
rm -r plik1 plik2 ...
Kasownie wymienionych plików, przy czym pliki mogą być również katalogami. Jeśli plik
jest katalogiem, to kasowane są również wszystkie pliki z wymienionego katalogu. Ze
względu na wymieniną wyżej równoważność, będzie ukazywało się żądanie potwierdzenia
kasowania przy każdym pliku i katalogu.
rm -f plik1 plik2 ...
Kasownie plików bez żądania potwierdzenia przy każdym kasowanym pliku.
rmdir katalog ...
Kasowanie katalogu. Katalog winien być wcześniej pusty.
Kopiowanie i przesuwanie plików:
•
•
•
•
•
•
cp plik1 plik2
Zostanie utworzona kopia pliku1 w pliku2. Jeśli plik2 był, wtedy jego zawartość zostanie
utracona bezpowrotnie.
cp -i plik1 plik2
Zostanie utworzona kopia pliku1 , ale jeśli plik2 był to zostaniesz zapytany czy chcesz
napewno go stracić. W tym systemie powłoka została skonfigurowana tak, by zawsze tzn.
nawet bez opcji -i było zadawane powyższe pytanie.
cp plik... katalog
Jest to druga forma polecenia cp i spowoduje utworzenie kopii plików w katalogu. Pozostałe
uwagi pozostają bez zmian.
mv plik1 plik2
Jest to przeniesienie pliku1 do pliku2. Jeśli plik2 był, wtedy jego zawartość zostanie
utracona bezpowrotnie.
mv -i plik1 plik2
Plik1 zostanie przeniesiony do pliku2 , ale jeśli plik2 był to zostaniesz zapytany czy chcesz
napewno go stracić.
mv plik... katalog
Jest to druga forma polecenia mv i spowoduje przeniesienie kopii plików do katalogi.
Pozostałe uwagi pozostają bez zmian.
Procesy
Proces to wykonujący się program. Każdy użytkownik może śledzić procesy. Temu służą polecenia
ps, pstree i top.
•
ps
Wyświetli procesy uruchomione z bieżącego terminala, np:
PID TTY
11075 pts/2
27683 pts/2
TIME CMD
00:00:00 bash
00:00:07 netscape-commun
27693 pts/2
30932 pts/2
00:00:00 netscape-commun
00:00:00 ps
gdzie:
PID - identyfikator procesu. Każdy proces dostaje swój unikalny numer. Prcesy
mogą mieć te same nazwy, ale ich identyfikatory będą różne.
TTY - nazwa terminala,
TIME - czas wykorzystany przez proces,
CMD - nazwa programu.
•
•
•
•
•
•
•
•
•
ps -A
Wyświetli wszystkie procesy.
ps aux
Polecenie ps może być wykonywane z kilkoma różnymi kluczami i tak kluczami (w
powyższym są trzy klucze: a u x). Wyświetone zostaną wszystkie procesy, łącznie z
procesami niezwiązanymi z żadnym terminalem (znak zapytania w kolumnie TTY) z
obszerną informacją o każdym procesie.
ps t terminal
Zostaną wyświetlone procesy związane z terminalem. Nazwa terminala winna mieć postać
taką jak w kolumnie TTY.
pstree
Wyświetli wszystkie procesy w postaci drzewa procesów.
top
Wyświetla na bieżąco wszystkie (dokładniej tyle ile mieści się na ekranie) procesy i ich stan.
Przerwanie wyświetlania to wciśnięcie litery q.
Jeśli chcemy przerwać proces (np. zawieszony lub zapętlony) musimy znać jegp PID. Do
przerywania procesów można użyć klawiszy: [Ctrl-c] lub jeśli to nie da rezultatów polecenia kill.
•
•
kill numer_procesu
Jest to przerwanie procesu o PID = numer_procesu. A jeśli to nie pomoże to:
kill -9 numer_procesu
Jest to najmocnieszy sygnał przerwania, temu nie oprze się żaden proces (chyba,
że nie jesteśmy jego właścicielami, ale na to nie ma rady).
Zmiana praw dostępu
•
chmod u+x plik
Właściciel (u) dostaje (+) prawo wykonania (x) pliku
A oto pozostałe możliwości:
• u - właściciel
• g - grupa
• o - pozostali
• a - wszyscy
• + - dostaje prawa
• - - odejmowane są prawa
• x - wykonania
• r - czytania
• w - pisania
Jeśli więc napiszesz
• chmod ug+wx plik
to właściciel i grupa pliku dostaną uprawniennia wx, dotychczasowe uprawnienia
pozostaną bez zmian.
•
chmod ddd plik
W którym ddd trzy cyfry ósemkowe, (po jednej dla właściciela,grupy i pozostałych
użytkowników systemu). Wartości poszczególnych uprawnień są następujące:
• 1- prawo wykonania,
• 2- prawo pisania
• 4- prawo czytania
a suma tych wartości określa uprawnienia dla określonego użytkownika np. 761 ->
(1+2+4,2+4,1) i generuje uprawnienia rwxrw
x
Powyższe możliwości zmiany praw dostępu dotyczą istniejących już plików. Można również
zażądać, by każdy nowo powstający plik miał inne niż przyjęte w danej konfiguracji prawa dostępu.
Dokładniej, można zdjąć wybrane uprawnienia z każdego tworzonego pliku. Należy to zrobić
dodając do pliku konfiguracyjnego np. pliku .bash_profile polecenie:
•
•
umask ddd
w którym ddd, podobnie jak powyżej są trzema cyframi ósemkowymi, ale w tym poleceniu
oznaczają zdjęcie uprawnień wyznaczonych przez te cyfry, czyli
umask 077
oznacza pozostawienie uprawnień wynikających z dotychczasowej konfiguracji dla
właściciela i zdjęcie wszystkich uprawnień dla pozostałych użytkowników.
Polecenia zmiany grupy i właściciela w większości implementacji systemów unix'owych może
dokonywać wyłącznie administrator. Tak jest również w Linux'ie. Nie zaszkodzi jednak poznać te
polecenia.
•
•
chown nowy_właściciel plik
plik zmienia właściciela na nowego_właściciela
chgrp nowa_grupa plik
plik zmienia grupę na nową_grupę
Przeszukiwanie drzewa systemu - polecenie find
Polecenie find jest jednym z podstawowych narzędzi administratora systemu. Może być
wykorzystywane przez użytkowników. Służy do wykonywania polecenia na wielu plikach
umieszczonych w różnych katalogach i spełniających wybrane kryterium. Budowa polecenia find
jest na początku trochę przykra, ale jeśli spojrzymy na nie, tak jak to jest pokazane poniżej i
prześledzimy kilka przykładów to wszystko stanie się jasne.
•
find gdzie_szukać według_jakiego_kryterium co_zrobić_ze_znalezionym
PRZYKŁADY:
•
find / -name '*passwd*' -print
w którym
• gdzie_szukać to / i oznacza przeszukiwanie całego drzewa systemu, łącznie z
wszystkimi zamontowanymi systemami plików, nawet jeśli są to systemy z
odległych komputerów. Przeszukiwane będą tylko te gałęzie drzewa systemu, do
których mamy uprawnienia, a o wszystkich próbach nieuprawnionego
przeszukiwania zostaniemy poinformowani. Można uniknąć wyprowadzania tej
informacji, ale o tym póżniej.
• według_jakiego_kryterium to opcja -name '*passwd*' i oznacza poszukiwanie pliku,
w którego nazwie występuje tekst passwd. Jak widać, w nazwach plików można
wykorzystać znaki uogólniające, takie jak w powłoce, ale wtedy należy pamiętać, by
nazwę pliku ująć w apostrofy, dzięki czemu znak uogólniający nie będzie
•
•
•
interpretowany przez powłokę a przez polecenie find. Jeśli w nazwach nie są
umieszczane znaki uogólniające, to apostrofy można pominąć,
• co_zrobić_ze_znalezionym to opcja -print i oznacza wyprowadzenie bezwględnej
ścieżki dostępu znalezionych plików.
find . -name '*.c' -exec less {}
Pozwoli na przeglądnięcie poleceniem less wszystkich plików zawierających programy
źródłowe w języku C a znajdujące się we wszystkich katalogach od katalogu bieżącego
począwszy, ponieważ:
• gdzie_szukać to . - przeszukiwanie od bieżącego katalogu począwszy.
• według_jakiego_kryterium to opcja -name '*.c' i oznacza, że interesują nas pliki z
rozszerzeniem c.
• co_zrobić_ze_znalezionym ma postać -exec less {} \
i nakazuje wykonanie (-exec) polecenia less z argumentami w postaci znalezionych
plików wstawionymi w miejsce nawiasów {}. Możemy zatem wykonać dowolne
polecenie systemu ze znalezionymi wg wybranego kryterium plikami. Pamiętaj, by
po napisaniu polecenia systemu w opcji -exec napisać odstęp a po nim \; - jest to
niezbędne.
find /tmp -atime +3 -and -uid +499 -print -exec rm -rf {} \;
i spowoduje skasowanie wszystkich plików, które nie były używane od 3 dni i ich
właścicielami są użytkownicy o UID większym niż 499 i znajdującymi się we wszystkich
katalogach od katalogu /tmp począwszy, informacja o znalezionych plikach zostanie
przekazana na monitor.
find . -name '*.c'-ok less {} \;
zamiast opcji -exec występuje opcja -ok spowoduje, że przed każdym wykonaniem
polecenia less dla znalezionego pliku będziemy zapytani czy należy je wykonać.
Różne
Systemy unix'owe dysponują niezwykle bogatymi zestawami narzędzi pozwalających na
wykonywanie różnorodnych zadań. Duża ilość narzędzi może spowodować pewną frustrację
szczególnie w odniesieniu do początkujących użytkowników systemu. Aby ułatwić rozpoczęcie
pracy poniżej wyselekcjonowano zestaw funkcji, które mogą być użyteczne w trakcie pracy z
materiałem prezentowanym w niniejszej publikacji.
•
•
•
•
•
•
•
who
Wyprowadzi na monitor informację o wszystkich pracujących użytkownikach.
date
Wyprowadza na monitor bieżącą datę i czas.
du plik
Podaje ile Kb zajmuje plik (1Kb = 1024b). Uwaga: liczba zajętych Kb nie jest równoważna
rozmiarowi (temu, który otrzymujemy listując katalogi) pliku, ponieważ każdy plik zajmuje
pełną liczbę bloków (1 blok = 1024 bajty). Jest to więc rzeczywisty obszar dysku
zajmowany przez plik. Jako argument może być podana nazwa katalogu.
wc plik
Policzy ile jest linii, słów i znaków w pliku.
wc -l plik
Policzy ile jest linii w pliku.
sort plik
Uporządkuje alfabetycznie linie z pliku i wynik takiego uporządkowania wyprowadzi na
monitor.
sort -t'znak' -r -n -k od,do plik
Polecenie sort umożliwia różnorodne sposoby sortowania. Każda linia zapisana w pliku
•
•
•
•
•
•
•
•
•
może być podzielona na pola. Znakiem oddzielającym pola może być dowolny znak podany
przez użytkownika. Do tego służy opcja -t'znak'; jeśli opcja ta nie występuje, to znakiem
oddzielającym pola jest odstęp lub znak tabulacji. Porządkować można biorąc pod uwagę
całą linię lub tylko wybrane pola. Do wybierania pól, które posłużą do porządkowania
można wykorzystać opcję -k od,do. Numeracja pól zaczyna się od 1. Opcję tę można
również zapisać w postaci -k nr_pola, jeśli do sortowania posłuży jedno pole. Jeśli opcja ta
nie występuje, to przy porządkowaniu bierze się pod uwagę całą linię. Porządkowanie może
być alfabetyczne lub numeryczne. Chcąc przeprowadzić porządkowanie numeryczne należy
użyć opcji -n. Sortownie alfabetyczne jest przyjmowane jako domyślne. Porządkować
można rosnąco lub malejąco. Porządkownie rosnące jest przyjmowane domyślnie, natomiast
użycie opcji -r pozwala na uporządkowanie malejące.
grep 'tekst' plik ...
Wyprowdzi na monitor te linie plików, w których znajduje się tekst. Znaki cudzysłowów w
wielu przypadkach można pominąć, ale jeśli jednym ze znaków 'tekstu' są znaki specjalne
powłoki np. odstęp,gwiazdka itp., wtedy cudzysłowy są niezbędne. Bezpieczniej jest
umieszczać je zawsze.
pwd
Podaje bezwzględną ściężkę dostępu bieżącego katalogu.
cut -d'znak' -f nr1-nr2 plik
Wybiera z tekstu zapisanego w pliku pola od nr1 do nr2, pola oddzielane znakiem
cut -d"znak " -f nr1,nr2 plik Wybiera z tekstu zapisanego w pliku pola nr1 i nr2, pola
oddzielane znakiem
tar cfv plik.tar plik ...
Jest to tworzenie (klucz c) archiwum z plików w pliku (klucz f) o nazwie plik.tar. Podczas
tworzenia archiwum będą wyświetlane nazwy plików (klucz v), z których tworzone jest
archiwum. Dobrze jest przed tworzeniem archiwum z grupy plików zapisać je wszystkie w
jednej kartotece i w kartotece nadrzędnej utworzyć archiwum za pomocą polecenia:
• tar cfv katalog.tar katalog
Zostanie utworzone archiwum z wszystkich plików katalogu w pliku katalog .tar.
Podczas rozpakowywania archiwum zostanie utworzony katalog, a w niej będą
umieszczone pliki uprzednio archiwizowane.
tar xfv plik.tar
Rozpakuje archiwum (klucz x) zapisane w pliku (klucz f) plik.tar. Podczas rozpakowywania
archiwum będą wyświetlane nazwy plików, z których było utworzone archiwum (klucz v).
gzip plik
Jest to kompresja pliku, zostanie utworzony plik.gz, Plik pierwotny nie będzie zachowany.
gzip -d plik.gz
Jest to dekompresja pliku plik.gz.
tar cfvz plik.tar.gz plik ...
Kompresję pliku można zrobić jednocześnie z archiwizacją (klucz z). Kompresja jest
wykonywan polecenie gzip. Dla skompresowanego w ten sposób archiwum plików często
przyjmuje się nazwy postaci plik.tgz.
Podręcznik (manual) i inne pomoce
Dokumentacja systemu jest zapisywana na kilka sposobów. Jedną z podstawowych pomocy jest
podręcznik systemowy - manual.
•
man polecenie
Jest to bezpośrednie odwołanie się do strony podręcznika opisującej wybrane polecenie.
Przeglądanie stron odbywa się za pomocą polecenia less. Podręcznik podzielony jest na
rozdziały i przeglądany od rozdziału pierwszego począwszy. Tak więc, jeśli w systemie jest
•
•
•
•
polecenie o nazwie ojojoj oraz funkcja biblioteki systemowej o tej samej nazwie, to
przegląniemy opis polecenia ojojoj, bo one znajdują się w rozdziale pierwszym a funkcje
systemowe w rozdziale drugim. Chcąc dotrzeć do opisu funkcji systemowej musisz napisać:
• man 2 ojojoj
xman &
Jeśli pracujesz w trybie graficznym, to możesz napisać polecenie powyższe i klikać myszą
do woli. Pamiętaj, by po nazwie polecenia napisać znak &. Pozwoli ci to na dalszą pracę na
terminalu, z którego wydałeś polecenie, bo jest to przeniesienie wykonania polecenia w tło.
Wszystkie aplikacje graficzne należy tak wywoływać, albo znaleźć odwołanie do nich z
menu.
apropos tekst
Możesz znaleźć w podręczniku systemowym wszystko, co ma związek z napisanym
tekstem, np. apropos color - wyprowadzi nazwy poleceń, funkcji i aplikacji mających
związek z kolorami.
whereis polecenie
Pozwoli na znalezienie scieżki dostępu do wybranego polecenia i jego opisu w podręczniku
systemowym.
whatis polecenie
Wyświetli krótki opis wybranego polecenia
Pomoce związane z systemem możesz również uzyskać za pomocą polecenia
•
•
info polecenie
Dostaniesz opis tego polecenia. Sterownie przeglądaniem odpowiednich części tego opisu
jest możliwe za pomocą tekstowego menu. Opis możliwości sterowania znajdziesz po
uruchomieniu tego programu. Trochę czasu zajmie nauczenie się wędrowania po
dokumentach, ale będzie to bardzo pomocne. Dokumenty w formacie "info" są zwykle
najbardziej miarodajne. Tu mała uwaga. Ze względu na burzliwy rozwój systemu i na
ogromną liczbę powstających aplikacji, dokumentacja nie zawsze jest w pełni aktualna.
Braki w dokumentacji nie są uciążliwe i objawiają się rzadko.
info
Polecenie info może być wywołane bez argumentu, wtedy dostaniesz spis wszystkiego co
jest opisane w formacie info.
Linux w wielu dystrybucjach (np. Mandriva, Fedora, Ubuntu) jest dostarczany w postaci pakietów
oprogramowania. Podczas instalacji systemu tworzona jest baza danych o zainstalowanych
pakietach. Jeśli są instalowane nowe pakiety, to baza danych jest aktualizowana. Oczywiście,
można również instalować oprogramowanie w inny sposób, ale wtedy baza danych nie będzie
aktualizowana. W przypadku dystrybucji Mandriva lub Fedora nazwy pakietów mają rozszerzenie
rpm i jest to skrót nazwy Red Hat Package Manager. Program instalujący pakiety nazywa się tak
samo. Zawsze możesz sprawdzić jakie pakiety są zainstalowne. Możesz przeczytać informację o
poszczególnych pakietach. Możesz dowiedzieć się jakie pliki wchodzą w skład pakietu. Możesz
również dowiedzieć się w skład, którego pakietu wchodzi wybrany plik. Jak to zrobić? Patrz niżej.
•
•
•
rpm -qa
Podaje listę wszystkich pakietów.
rpm -qi wybrany_pakiet
Podaje krótką informację o wybranym_pakiecie.
rpm -ql wybrany_pakiet
Podaje listę plików wchodzących w skład wybranego_pakietu
Przygotowanie systemu do publikowania własnych stron WWW
w Internecie
Dokumenty opracowane w języku HTML (zwyczajowo kończących się rozszerzeniem .html lub
.htm) stanowiące zawartość Twojego serwisu WWW muszą zostać umieszczone w podkatalogu
public_html (i ewentualnie jego podkatalogach) w Twoim katalogu domowym. W celu
skopiowania plików z Twojego lokalnego komputera na serwer 149.156.115.209 możesz posłużyć
się protokołem ftp lub (bezpieczniej) scp. Prosimy o zwrócenie uwagi, że w systemie unix
rozróżniane są wielkie i małe litery w nazwach plików. Nazwy plików, do których odwołujesz się w
Twoich dokumentach HTML muszą być identyczne z rzeczywistymi nazwami plików na Twoim
koncie shellowym. Najlepiej jest więc przyjąć zasadę używania wyłącznie małych liter w nazwach
plików i nie stosowania w nich polskich znaków diakrytycznych.
Na serwerze 149.156.115.209 musisz samodzielnie utworzyć w swoim katalogu domowym katalog
public_html. Możesz w tym celu użyć tego samego programu, który posłuży Ci do transmisji
plików. Możesz również zalogować się na swoim koncie shellowym przy pomocy protokołu telnet
lub (lepiej) ssh i wykonać sekwencję poleceń:
cd
-przejdź do katalogu domowego
mkdir public_html
-utwórz podkatalog public_html
chmod
-nadaj wszystkim użytkownikom (a więc i serwerowi WWW) prawo
przeszukania katalogu domowego
chmod o+x public_html
-nadaj wszystkim użytkownikom (a więc i serwerowi WWW) prawo
przeszukania katalogu public_html
Zwróć uwagę, że przyznanie użytkownikom prawa przeszukania katalogu ("x") nie oznacza
równoczesnego nadania prawa jego odczytu ("r"). W takim przypadku inni użytkownicy serwera (w
tym serwer WWW) nie mogą sprawdzić (wylistować) zawartości Twojego katalogu domowego ani
jego podkatalogu public_html, mogą jedynie sprawdzić istnienie w nich zbioru o znanej sobie
nazwie. Strona startowa (początkowa) twojego serwisu WWW powinna mieć nazwę: index.html,
ewentualnie: index.htm, index.shtml, index.php, index.php4, index.php3 lub index.cgi. Serwer
WWW stara się odnaleźć stronę początkową zawsze w podanej powyżej kolejności. Jeśli więc w
katalogu public_html znajduje się plik o nazwie "index.html" oraz Twój plik o nazwie "index.htm",
serwer WWW będzie nadal udostępniał ten pierwszy plik jako stronę początkową. Jeśli nie jest to
zgodne z Twoimi intencjami, musisz usunąć ten plik lub zmienić mu nazwę. Prosimy również o
zwrócenie uwagi, że serwer WWW musi mieć możliwość odczytu wszystkich plików, składających
się na Twój serwis WWW. Jest to domyślne ustawienie dla wszystkich tworzonych przez Ciebie
plików (również tych przesłanych na Twoje konto przy pomocy protokołu ftp lub scp, na ogół nie
musisz się więc tym kłopotać. Z poziomu shella unixowego możesz nadać prawo odczytu danego
pliku wszystkim użytkownikom, wydając komendę: "chmod o+r nazwa_pliku". Taki sam efekt dla
wszystkich plików w bieżącym katalogu uzyskasz wydając komendę: "chmod o+r *". Natomiast
polecenie "ls -l" wyświetli wykaz plików znajdujących się w Twoim bieżącym katalogu (rys. 6.13).
Rys. 6.13 Listowanie katalogów na komputerze zdalnym
Każda pozycja zawierająca opis pliku (lub katalogu) rozpoczyna się od ciągu 10 znaków
opisujących prawa dostępu do pliku (oraz jego typ). Z punktu widzenia przygotowywanego
serwisu WWW musisz zwrócić uwagę na pierwszy znak opisu (zawarty na rysunku w niebieskiej
ramce) opisujący typ pliku i na trzy ostatnie znaki (zawarte w żółtej ramce) opisujące prawa
dostępu do pliku dla wszystkich użytkowników. Dla zwykłych plików (symbol "-" w polu typu
pliku) uprawnienia dla wszystkich użytkowników powinny być ustawione na "r--" (tylko prawo
odczytu). Dla katalogów (symbol "d" w polu typu pliku) odpowiednie prawa dostępu powinny być
ustawione na "r-x" (prawa odczytu i przeszukania).
Twój prywatny serwis WWW dostępny jest pod adresem:
http://149.156.115.209/~snumer_indexu
(zwróć uwagę na obowiązkowy znak tyldy "~").
Zadania do wykonania
1. Wyszukaj w zasobach sieci internet program PuTTY i zainstaluj go lokalnie.
2. Za pomocą PuTTY połącz się ze zdalnym komputerem na którym chcesz pracować (np.
149.156.115.209 jako loginu użyj frazy sNumerIndexu, hasło zostanie podane przez
prowadzącego zajęcia).
3. Załóż katalog o nazwie tmp.
4. Utwórz plik tekstowy zawierający Twoje imię i nazwisko
5. Dla nowoutworzonego pliku zmień prawa dostępu tak, by wszyscy użytkownicy systemu
mogli go czytać, a jeśli mają takie prawa, to zmień je tak, by tylko właściciel pliku mógł
czytać i poprawiać ten plik.
6. Wyświetl procesy.
7. Sprawdź ilu użytkowników pracuje na twoim komputerze.
8. Zmień hasło (Uwaga! zapisz sobie to hasło). Wróć do poprzedniego hasła.
9. Znajdź plik passwd w systemie.
10. Sprawdź w jakim katalogu pracujesz.
11. Utwórz plik o dowolnej nazwie zawierający twoje imię nie korzystając z edytora.
12. Przeglądnij opis komendy rm.
13. Załóż katalog pozwalający na publikowanie Twoich stron WWW w sieci (opis w tekście).
14. Utwórz za pomocą dowolnej metody opisanej w tekście plik tekstowy tmp.txt.
15. Umieść w utworzonym pliku następujący tekst:
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<title> Strona próbna!! </title>
</head>
<body>
Witaj świecie!!! <BR>
<B>Imię Nazwisko</B>
</body>
</html>
16. Zmień nazwę pliku na index.html
17. Sprawdź prawa dostępu do pliku.
18. Skasuj plik tmp.txt.
19. Policz ile linii ma plik index.html.
20. Sprawdź za pomocą przeglądarki internetowej swoją stronę.

Podobne dokumenty