217
W rozdziale 10. podejmiemy tematy, które nie zostały przedstawione
w rozdziale 9., „Powłoka Bash”. Ten rozdział również będzie w większości
dotyczył wykorzystania wiersza poleceń.
Wyjątkiem będą opisy montowania urządzeń oraz ustalania domyślnych
praw dostępu dla grup. Te zadania mogą zostać wykonane zarówno z wiesza
poleceń, jak i za pomocą środowiska Gnome. W tym rozdziale pokażemy,
jak montować urządzenia, korzystając z obu sposobów i jak ustalać domyślne
prawa dostępu za pomocą Gnome.
Znajdziesz tu odpowiedzi na następujące pytania: jak zdobyć informacje
o systemie? Jak dowiedzieć się czegoś więcej o ilości wolnego miejsca
na dysku i o katalogach? Jak odszukać odpowiednie pliki i znaleźć pliki
zawierające dany tekst?
W tym rozdziale pokażemy również, jak wyświetlać i monitorować poszczególne
procesy. Nauczysz się również, jak je zabijać, jeśli skończy się ich czas.
Na koniec, omówimy zagadnienia związane z posiadaniem plików oraz
katalogów i prawami odstępu do nich. Co oznacza posiadanie pliku?
W jaki sposób plik może mieć więcej niż jednego właściciela? Czym są
prawa dostępu i jak je modyfikować?
Oto temat poruszane w tym rozdziale:
uzyskiwanie informacji o systemie,
procesy,
system plików,
posiadanie plików i prawa dostępu.
Pliki, procesy i prawa dostępu
10
Pliki, procesy i prawa
Rozdział 10.
218
Uzyskiwanie informacji
o systemie
Wiedza daje władzę, dlatego oczywiste jest,
że chcesz wiedzieć więcej o swoim systemie,
a przynajmniej orientować się, jakie narzędzia
są w danej chwili dostępne.
Kiedy na przykład istotne staną się zagadnienia
związane z kompatybilnością oprogramowania,
być może trzeba będzie dokładnie wiedzieć,
która wersja jądra działa w systemie.
Aby uzyskać informacje o komputerze i
systemie operacyjnym
1.
W wierszu poleceń wpisz
uname –a.
2.
Wciśnij Enter. Komputer odpowie,
wyświetlając tekst podobny do
następującego:
linux linuxbear 2.4.2-2 #1
Sun Apr 8 20:41:30 EDT 2001
i686 unknown
Odpowiedź na polecenie uname –a
zawiera następujące informacje:
Linux: nazwa systemu operacyjnego (–s)
linuxbear: nazwa hosta (–n)
2.4.2-2 #1: numer wersji jądra (–r)
Sun Apr 8 20:41:30 EDT 2001: data i czas
kompilacji jądra (–v)
i686: typ komputera (–m.)
unknown: procesor (–p)
Wskazówka
Polecenie uname można również wywołać,
wykorzystując poszczególne opcje
(przedstawione powyżej) pozwalające
na uzyskanie tylko specyficznych informacji,
zamiast wyświetlać wszystkie informacje
za pomocą opcji –a.
Określanie ilości wolnego miejsca
na dyskach
W Linuksie system plików jest sztucznym
tworem o strukturze drzewa, rozpoczynającego
się od katalogu głównego oznaczanego
symbolem /. Pozycja katalogu w tej strukturze
nie oznacza, że faktycznie jest on zapisany na
konkretnym dysku twardym.
Zamontowany system plików może być
wykorzystywany w systemie operacyjnym.
Katalog, który reprezentuje wiązanie pomiędzy
zamontowanym systemem plików a całą
strukturą drzewiastą nazywany jest punktem
zamontowania.
Polecenie df pozwala zorientować się, które
systemy plików są zamontowane, w jakich
punktach i ile jest na nich wolnego miejsca.
Aby sprawdzić, ile jest wolnego miejsca
na dysku
1.
W wierszu poleceń wpisz df.
2.
Wciśnij Enter. Wyświetlony zostanie
komunikat zawierający osobne wiersze
dla każdego z zamontowanych systemów
plików z danymi o używanym i dostępnym
miejscu oraz punkcie zamontowania.
Dzięki poleceniu df można sprawdzić,
w którym punkcie zamontowany jest dany
system plików i ile miejsca pozostało
na dysku (patrz tabela 10.1).
Tabela 10.1. Określanie ilości wolnego miejsca.
Filesystem
1k-blocks
Used
Available
Use%
Mounted on
/dev/hda2
2208347
1182338
911853
56%
/
/dev/hdc
556054
556054
0
100%
/mnt
Uzyskiwanie inform
acji o system
ie
Pliki, procesy i prawa dostępu
219
Rysunek 10.1. Za pomocą polecenia du można
sprawdzić wielkość katalogu.
Wskazówka
Polecenie file nie będzie działać prawidłowo
dla każdego pliku. Najpierw sprawdza ono
typ danych zapisanych w pliku. Następnie
odczytuje dane z odpowiedniej tabeli
zapisanej w tak zwanym pliku magicznym
(jest to zwykle plik /etc/magic, jeśli chcesz
możesz go obejrzeć). Plik programu
WordPerfect został rozpoznany, ponieważ
instalator tego programu dodał
odpowiednie informacje do pliku
/etc/magic.
Aby sprawdzić, ile miejsca
zajmuje katalog
1.
W wierszu poleceń wpisz du.
2.
Wciśnij Enter. Wyświetlona zostanie
informacja o wielkości katalogu bieżącego
i jego podkatalogów w kilobajtach
(rysunek 10.1)
Wskazówki
Jeśli jako parametr polecenia du podasz
ścieżkę dostępu do katalogu, na przykład
du /home/hdavis/linuxvqs,
wyświetlona zostanie informacja o tym
katalogu i jego podkatalogach.
Wyjście polecenia du można za pomocą
mechanizmu potoków skierować na wejście
programu more, wpisując du | more,
dzięki czemu dane wyświetlane będą
porcjami mieszczącymi się jednorazowo na
ekranie.
Określanie typu pliku
W systemie Windows można odgadnąć typ
pliku na podstawie rozszerzenia jego nazwy.
W systemie Linux nazwy plików często nie
posiadają rozszerzeń, w związku z czym nie
ma możliwości określenia typu pliku
na podstawie jego nazwy.
Aby określić typ pliku
1.
W wierszu poleceń wprowadź polecenie
file z argumentem będącym ścieżką
dostępu do pliku, na przykład
file /home/hdavis/wpdocs/testwp
2.
Wciśnij Enter. System odpowie, podając
informację o typie pliku, na przykład tak:
/home/hdavis/wpdocs/testwp:
WordPerfect document.
Uzyskiwanie inform
acji o system
ie
Rozdział 10.
220
Informacje
o użytkownikach systemu
Do sprawdzania, kto jest aktualnie zalogowany
i uzyskiwania innych informacji
o użytkownikach, służy polecenie finger.
Aby sprawdzić, kto jest zalogowany
1.
W wierszu poleceń wpisz finger.
2.
Wciśnij Enter. Wyświetlona zostanie lista
użytkowników zalogowanych do systemu
oraz położenie ich katalogów domowych
(rysunek 10.2).
Wskazówki
Po zastosowaniu polecenia finger
z identyfikatorem konkretnego użytkownika
można uzyskać o nim dodatkowe informacje:
jakiej używa powłoki, ile czasu upłynęło
od zalogowania, ile czasu martwego
upłynęło od zalogowania.
Konieczność uzyskania informacji o tym,
kim jesteś, może nie jest zbyt częsta
– szczególnie jeśli wiesz, kim jesteś
– i bywa raczej tematem francuskich
filmów o problematyce egzystencjalnej,
a nie książek o Linuksie. Jeśli jednak jesteś
zalogowany jako kilku różnych
użytkowników i nie dostosowałeś znaku
zachęty, tak aby wyświetlany był
identyfikator użytkownika, problem ten
może okazać się dość frustrujący. W takich
sytuacjach z pomocą może przyjść
polecenie whoami, które zwraca Twój
identyfikator użytkownika.
Rysunek 10.2. Polecenie finger pozwala
zorientować się, kto jest zalogowany.
Uzyskiwanie inform
acji o system
ie
Pliki, procesy i prawa dostępu
221
To mój proces
i mogę z nim robić, co chcę
Być może masz doświadczenie z programami
dla systemu Microsoft Windows, których
w żaden sposób nie da się zatrzymać lub
z oknami, które po otwarciu w żaden sposób
nie dają się zamknąć. Jedynym sposobem
na zamknięcie takiego programu lub okna jest
wykorzystanie klawiszy Control+Alt+Delete.
Klawisze Control+Alt+Delete w systemie
Microsoft Windows powodują wyświetlenie
okna dialogowego Zamknij program.
Nieprawidłowo działający proces jest zwykle
opisany komunikatem Nie odpowiada.
Aby go zamknąć, trzeba wybrać go i kliknąć
na przycisk Zakończ zadanie (jest oczywiście
jeszcze jedna możliwość: można wyłączyć
zasilanie).
Będąc administratorem systemu linuksowego
lub programistą możesz zetknąć się z analogiczną
sytuacją. W systemie Linux nie mówi się
jednak o zakończeniu zadania, ale o „zabiciu”
procesu.
Proces to skrótowe określenie abstrakcyjnego
tworu zarządzającego pamięcią, procesorem
i zasobami wejścia i wyjścia, tak aby możliwe
było wykonywanie programu. Choć system
Linux daje złudzenie, że równocześnie
wykonuje się w nim wiele zadań,
w rzeczywistości jeden procesor może
wykonywać tylko jeden proces. Iluzja
równoczesnego wykonywania zadań jest
osiągana dzięki podziałowi czasu, co oznacza,
że system operacyjny przełącza wykonywanie
poszczególnych procesów w określonych,
bardzo krótkich odstępach czasu.
Aby wyświetlić listę wszystkich procesów
związanych z terminalem
1.
Zaloguj się jako root.
2.
W wierszu poleceń wpisz ps –a.
3.
Wciśnij Enter. Wyświetlona zostanie
tabela (patrz rysunek 10.3) zawierająca
numer identyfikacyjny procesu (PID),
terminal, na którym proces został
zainicjowany (TTY), czas procesora, który
został zużyty przez proces (TIME) oraz
polecenie, które uruchomiło dany proces
(COMMAND).
Rysunek 10.3. Aby wyświetlić listę wszystkich
procesów związanych z terminalem, wydaj
polecenie ps –a.
To mój
pr
oc
es
i mog
ę z ni
m r
obi
ć, co
ch
cę
Rozdział 10.
222
Aby wyświetlić listę wszystkich procesów
1.
Zaloguj się jako root.
2.
W wierszu poleceń wpisz
ps –aux | more.
3.
Wciśnij Enter. Ekran po ekranie
wyświetlone zostaną informacje
o wszystkich procesach (rysunek 10.4).
Dokładniejsze objaśnienie znaczenia
poszczególnych kolumn znajdziesz
w tabeli 10.2.
Rysunek 10.4. Aby wyświetlić listę wszystkich
procesów, wydaj polecenie ps –aux.
Tabela 10.2. Kolumny wyświetlane po wydaniu polecenia ps –aux.
Kolumna
Znaczenie
USER
Identyfikator użytkownika będącego właścicielem procesu
PID
Identyfikator procesu
%CPU
Procentowe zużycie czasu procesora przez proces
%MEM
Procentowe zużycie pamięci przez proces
VSZ
Rzeczywisty rozmiar procesu, w kilobajtach
RSS
Ilość fizycznej pamięci używanej przez proces
TTY
Terminal związany z procesem
STAT
Status procesu; oto niektóre z możliwych wartości:
R – działający (Runnable)
D – oczekujący na dostęp do dysku (Disk wait)
I – nieaktywny przez mniej niż 20 sekund
S – nieaktywny przez więcej niż 20 sekund
T – wstrzymany
Z – Zombie, czyli proces porzucony, który powinien zostać zamknięty przez inny proces
W – proces przeniesiony czasowo do pliku wymiany
N – wartość parametru Nice, oznaczającego priorytet procesu
START
Czas uruchomienia procesu
TIME
Zużyty czas procesora
COMMAND
Polecenie (wraz z parametrami), które spowodowało uruchomienie procesu
To mój
pr
oc
es
i mog
ę z ni
m r
obi
ć, co
ch
cę
Pliki, procesy i prawa dostępu
223
Rysunek 10.5. Polecenie killall –v pozwala
na zabicie procesu i uzyskanie potwierdzenia.
Aby zabić proces
1.
Zaloguj się jako root (lub właściciel
procesu).
2.
W wierszu poleceń wpisz polecenie kill,
a po nim numer identyfikacyjny (PID)
procesu, na przykład kill 856.
3.
Wciśnij Enter.
Wskazówki
Tylko użytkownik root oraz właściciel
procesu mogą go zabić.
Identyfikatory procesów różnią się nawet
dla tych samych programów od sesji do sesji.
Uważaj więc, co zabijasz!
Aby zabić proces za pomocą jego nazwy
1.
Zaloguj się jako root
(lub właściciel procesu).
2.
W wierszu poleceń wpisz
killall –v nazwaprocesu
Wpisz na przykład
killall –v postmaster
3.
Wciśnij Enter. System wyświetli
komunikat o zakończeniu działania
odpowiedniego procesu (rysunek 10.5).
To mój
pr
oc
es
i mog
ę z ni
m r
obi
ć, co
ch
cę
Rozdział 10.
224
System plików
Linuksowy system plików można traktować
jak pojedyncze, abstrakcyjne drzewo. Kiedy
dodajesz do niego pliki zapisane na jakimś
nośniku wymienialnym, na przykład
na dyskietce czy dysku CD-ROM, taki
podrzędny system plików jest doczepiany do
systemu głównego w punkcie zamontowania.
Punktami zamontowania są zwykle puste
katalogi.
Punkt zamontowania – i w zasadzie całe
abstrakcyjne drzewo – nie musi mieć żadnego
związku z fizycznymi nośnikami. Takie
podejście jest zasadniczo różne od tego
stosowanego w systemie Microsoft Windows,
gdzie wszystkie pliki i katalogi na dysku E są
faktycznie przechowywane na fizycznym
dysku E.
W zasadzie termin system plików ma dwa
znaczenia.
Główny linuksowy system plików, będący
tworem abstrakcyjnym.
Podsystem lub gałąź systemu plików;
innymi słowy, jeden z jego katalogów,
najczęściej wraz z podkatalogami.
Zwykle z kontekstu można łatwo
wywnioskować, o które ze znaczeń chodzi.
Na linuksowy system plików nie są nałożone
żadne wymagania co do jego organizacji, ale
z biegiem czasu utrwaliło się kilka konwencji.
Główny system plików zawiera katalog
główny, jądro systemu, katalog /dev wraz
z plikami urządzeń, katalog /etc
z najważniejszymi plikami systemowymi oraz
katalog /bin z najważniejszymi programami.
Inne standardowe katalogi i opis ich zawartości
zebrano w tabeli 10.3.
Ważne jest również, aby zdawać sobie sprawę,
że z każdym plikiem związany jest zestaw
praw dostępu. Na ich podstawie system
określa, kto może odczytywać, zapisywać
i uruchamiać dany plik. Ogólnie rzecz ujmując,
tylko właściciel pliku oraz administrator systemu
mają prawo do zmiany praw dostępu do pliku.
Montowanie urządzeń
Systemy plików można rozszerzać, montując
w nich urządzenia, takie jak CD-ROM,
dyskietki czy wyjmowalne dyski twarde.
Aby zamontować i odmontować system
plików
Ogólna składnia polecenia służącego
do montowania systemów plików jest
następująca:
mount plik-urządzenia katalog
Argument plik-urządzenia określa plik
sterownika danego urządzenia, na przykład
/dev/fd0 dla pierwszej stacji dyskietek czy
/dev/cdrom dla napędu CD-ROM. Argument
katalog może wskazywać na dowolny katalog,
który w razie potrzeby można również założyć
– zgodnie z konwencją jest to zazwyczaj jeden
z podkatalogów katalogu /mnt.
Składnia polecenia odmontowującego system
plików ma postać umount nazwa, gdzie
nazwa jest albo nazwą pliku urządzenia,
albo punktem jego zamontowania.
Tabela 10.3. Standardowe katalogi systemu Linux
i ich zawartość.
Katalog
Zawartość
/
Katalog główny
/bin, /sbin
Ważne programy użytkowe, niezbędne dla
zapewnienia minimalnej funkcjonalności
systemu
/dev
Pliki urządzeń dla terminali, dysków,
modemów itd.
/etc
Najważniejsze pliki systemowe
/tmp
Pliki tymczasowe, zwykle usuwane podczas
startu systemu
/usr/bin
Pliki wykonywalne
/usr/lib
Pliki pomocnicze dla standardowych
programów linuksowych
/usr/man
Pliki podręcznika systemowego man
/usr/src
Kody źródłowe programów
/var/log
Pliki dziennika
/var/spool
Katalogi kolejek dla drukarek, poczty itp.
/var/tmp
Katalog z plikami tymczasowymi (pliki nie
usuwane przy starcie systemu)
System
plików
Pliki, procesy i prawa dostępu
225
Rysunek 10.6. Za pomocą panelu sterowania
środowiska Gnome można również montować
i odmontowywać systemy plików.
Rysunek 10.7. Przy montowaniu i odmontowywaniu
systemów plików trzeba potwierdzić odpowiednie
zlecenia.
Aby zamontować dysk CD-ROM
1.
W wierszu poleceń wpisz
mount /dev/cdrom /mnt/cdrom
2.
Wciśnij Enter.
Aby odmontować CD-ROM
1.
W wierszu poleceń wpisz
umount /dev/cdrom
albo
umount /mnt/cdrom
2.
Wciśnij Enter.
Aby zamontować dyskietkę
1.
W wierszu poleceń wpisz
mount /dev/fd0 /mnt/floppy
2.
Wciśnij Enter.
Aby odmontować dyskietkę
1.
W wierszu poleceń wpisz
umount /dev/fd0
albo
umount /mnt/floppy
2.
Wciśnij Enter.
Aby zamontować urządzenie za pomocą
środowiska Gnome
1.
Zaloguj się jako root.
2.
Uruchom program Linuxconf.
3.
Przewiń listę w lewej części okna, aż
znajdziesz pozycję Mount/Unmount File
Systems (rysunek 10.6).
4.
Wybierz urządzenie, które chcesz
zamontować, na przykład /dev/cdrom.
5.
Potwierdź chęć zamontowania systemu
plików (rysunek 10.7).
Wskazówka
Panelu sterownia możesz użyć również
do odmontowywania urządzeń.
System
plików
Rozdział 10.
226
Tworzenie katalogów
Katalogi są pojemnikami na inne katalogi
oraz pliki sytemu Linux. Prawdopodobnie
za każdym razem, gdy będziesz rozpoczynał
pracę nad jakimś projektem lub też będziesz
chciał pogrupować powiązane ze sobą pliki,
utworzysz nowy katalog.
Aby utworzyć nowy katalog
1.
Przejdź do katalogu w systemie plików,
w którym chcesz utworzyć nowy katalog.
2.
W wierszu poleceń wpisz
mkdir mynewdir.
3.
Wciśnij Enter.
4.
Wydaj polecenie ls –l, aby wyświetlić
podkatalogi katalogu bieżącego.
Powinieneś zauważyć pozycję mynewdir
z literą d w pierwszej kolumnie; oznacza
ona, że jest to katalog (patrz rysunek 10.8).
Wskazówka
Jeśli spróbujesz założyć podkatalog
o nazwie, która już jest wykorzystana
w obrębie danego katalogu, otrzymasz
komunikat o błędzie, co jest jeszcze
jednym dowodem na to, że katalogi w
systemie Linux są plikami.
Oto lista symboli, których nie można
używać w nazwach plików i katalogów:
<> {} [] () ” ‘ ` * ? | / \ ^ ! # & ~
Oprócz wymienionych wcześniej znaków
specjalnych, powinieneś unikać również
spacji i myślników, ponieważ niektóre
programy nie obsługują ich prawidłowo.
Aby usunąć katalog
1.
Za pomocą polecenia cd przejdź do
katalogu nadrzędnego wobec katalogu,
który chcesz usunąć.
2.
W wierszu poleceń wydaj polecenie rmdir
usuwające katalog, na przykład
rmdir mynewdir.
3.
Wciśnij Enter.
Rysunek 10.8. Katalogi są oznaczane literą d
w pierwszej kolumnie listingu katalogu.
System
plików
Pliki, procesy i prawa dostępu
227
Rysunek 10.9. Polecenie ls pozwala
na przeglądania zawartości katalogów.
Tworzenie plików
Katalogi tworzą strukturę pojemników,
natomiast pliki są tym, co je wypełnia.
Aby wyświetlić wszystkie pliki w katalogu
1.
W wierszu poleceń wpisz ls –al.
2.
Wciśnij Enter. Wyświetlone zostaną
wszystkie pliki znajdujące się w bieżącym
katalogu (rysunek 10.9).
Wskazówka
Opcja –l polecenia ls powoduje
wyświetlanie pełnych informacji o plikach;
opcja –a powoduje wyświetlanie informacji
o wszystkich plikach, w tym również
plikach ukrytych. Dokładniejsze informacje
o opcjach polecenia ls znajdziesz
w dodatku A.
Aby utworzyć plik
1.
W wierszu poleceń wpisz polecenie touch
z nazwą nowego pliku, na przykład
touch fajny.plik.
2.
Wciśnij Enter.
Wskazówka
Istnieje wiele sposobów tworzenia plików.
Jednym z nich jest wykorzystanie edytora
tekstów, na przykład vi.
Aby skopiować plik (lub katalog)
Aby skopiować plik (lub katalog), można
wykorzystać polecenie cp. Wpisz na przykład
cp mojpliklubkatalog twojpliklubkatalog.
Aby przenieść plik (lub katalog)
Aby przenieść plik (lub katalog), można
wykorzystać polecenie mv. Wpisz na przykład
mv pliklubkatalog /nowykatalog/
pliklubkatalog.
System
plików
Rozdział 10.
228
Aby usunąć plik
1.
W wierszu poleceń, wpisz polecenie rm
z nazwą pliku. Wpisz na przykład
rm ten.plik.już.nie.istnieje.
2.
Wciśnij Enter.
Wskazówka
polecenie rm, w zależności od użytych
opcji, oraz od tego, czy jesteś zalogowany
jako root, może być bardzo niebezpieczne.
Dla przykładu, opcja –f powoduje
usunięcie plików zabezpieczonych przed
zapisem bez ostrzeżenia, a opcja –r
powoduje usunięcie wszystkich plików,
również w podkatalogach. Oznacza to, że
jeśli użytkownik root wyda w katalogu
głównym polecenie rm –rf, cały system
plików zostanie usunięty. Nie należy
wypróbowywać tego polecenia!
Aby odnaleźć potrzebny plik
Polecenie find jest bardzo elastycznym
narzędziem służącym do wyszukiwania plików
(dokładniejsze informacje na jego temat
znajdziesz w dodatku A).
Aby na przykład wyszukać w katalogu
/home/hdavis/ch11 wszystkie pliki, które
w nazwie mają wyraz fig, można wydać
polecenie
find /home/hdavis/ch11 –name '*fig*' –print.
Spowoduje ono wyświetlenie wszystkich plików
spełniających dany warunek (rysunek 10.10).
Aby znaleźć tekst w pliku (lub w plikach)
Polecenie grep służy do przeszukiwania
plików w celu znalezienia określonego tekstu
lub tekstu, który pasuje do wyrażenia
regularnego.
Dla przykładu, poniższe polecenie (patrz
rysunek 10.11) powoduje wyszukanie
wszystkich wystąpień słowa elephant w plikach
w katalogu bieżącym i wydrukowanie trzech
wierszy po obu stronach tego wyrazu wraz
z ich numerami (z powodu opcji –n):
grep –n –3 elephant *
Rysunek 10.10. Za pomocą polecenia find można
wyświetlić pliki, których nazwy spełniają określone
kryteria.
Rysunek 10.11. Polecenie grep jest używane do
wyszukiwania w plikach tekstów pasujących do
zadanego wzorca.
System
plików
Pliki, procesy i prawa dostępu
229
Aby wyświetlić początek zawartości pliku
1.
Wpisz head mojplik.
2.
Wciśnij Enter. Wyświetlone zostanie 10
pierwszych wierszy pliku.
Wskazówki
Polecenia head można użyć
do wyświetlenia dowolnej liczby
początkowych wierszy pliku, na przykład
polecenie head –42 mojplik wyświetli
pierwsze 42 wiersze pliku mojplik.
Początki kilku plików jednocześnie możesz
obejrzeć, wysyłając je do polecenia more,
na przykład
head –5 my* | more
Aby wyświetlić końcówkę pliku
1.
Wpisz tail mojplik.
2.
Wciśnij Enter. Wyświetlone zostanie 10
ostatnich wierszy pliku.
Wskazówki
Podobnie jak w przypadku polecenia head,
również polecenie tail pozwala na określenie
liczby wyświetlanych wierszy i pokazanie
końcowych części kilku plików.
Polecenie tail przydaje się do śledzenia
nowych wpisów w plikach zawierających
rejestrowane informacje, na przykład
podczas wyszukiwania błędów w instalacji
czy działaniu programu, takiego jak baza
danych, który zapisuje do pliku dane
o swych działaniach.
System
plików
Rozdział 10.
230
Posiadanie plików
i prawa dostępu
Każdy plik i katalog w systemie Linux jest
własnością jakiegoś użytkownika i posiada
zestaw praw dostępu określających, jakie
operacje mogą na nim wykonywać
poszczególni użytkownicy.
Wyróżnia się trzy rodzaje użytkowników:
User, czyli pojedynczy użytkownik, który
jest faktycznie właścicielem danego pliku.
Pliki tworzone przez użytkownika stają się
automatycznie jego własnością.
Group, czyli grupa, do której przynależy
użytkownik będący właścicielem pliku
(informacje dotyczące obsługi grup
i użytkowników w środowisku Gnome
znajdziesz w rozdziale 6.). Wszyscy
użytkownicy należący do danej grupy mają
takie same prawa w odniesieniu do danego
pliku.
Other, czyli inni – ten termin oznacza
wszystkich użytkowników, którzy nie są
ani właścicielem pliku, ani nie należą
do grupy posiadającej plik.
Zauważmy po raz kolejny, że właścicielem
pliku nie musi być faktyczny użytkownik
systemu. Niektóre programy, na przykład
PostgreSQL omówiony w rozdziale 8.
– są własnością użytkowników fikcyjnych.
Podobnie rzecz ma się z plikami.
Prawa dostępu również dzielą się na trzy grupy:
Prawo do odczytu (ang. read) oznacza, że
użytkownik może przeglądać zawartość
pliku, ale nie może jej zmieniać. Przy
wyświetlaniu zawartości katalogu za
pomocą polecenia ls –l jest ono
reprezentowane przez literę „r”.
Prawo do zapisu (ang. write) oznacza, że
użytkownik może edytować (i usuwać)
dany plik. Przy wyświetlaniu zawartości
katalogu za pomocą polecenia ls –l jest ono
reprezentowane przez literę w.
Prawo do wykonywania (execute) oznacza,
że użytkownik może uruchomić dany plik
(jeśli jest on programem lub skryptem)
i przeglądać zawartość katalogu. Przy
wyświetlaniu zawartości katalogu
za pomocą polecenia ls –l jest ono
reprezentowane przez literę x.
Posiadanie plików i prawa dost
ępu
Pliki, procesy i prawa dostępu
231
Rysunek 10.12. Sprawdzić, kto jest właścicielem
pliku i jakie prawa dostępu są z nim związane,
można, wydając polecenie ls –l.
Aby sprawdzić, kto jest właścicielem pliku
i jakie prawa dostępu są z nim związane
1.
W wierszu poleceń wpisz ls –l.
2.
Wciśnij Enter. Wyświetlone zostaną
informacje o plikach i katalogach
zapisanych w katalogu bieżącym
(rysunek 10.12).
Aby określić prawa dostępu do pliku oraz
właściciela pliku, trzeba jeszcze odpowiednio
rozszyfrować informacje wyświetlane
w kolumnach (jak na rysunku 10.12).
Pierwsza kolumna od lewej, składająca się
z 10 pojedynczych znaków, określa prawa
dostępu dla poszczególnych kategorii
użytkowników.
Myślnik (–) oznacza, że użytkownik nie
posiada praw dostępu określonego rodzaju.
Pierwszym znakiem jest d, jeśli plik jest
katalogiem; w przeciwnym przypadku
wyświetlany jest myślnik.
Następne trzy znaki symbolizują prawo
do odczytu, zapisu i wykonywania
dla właściciela pliku.
Kolejne trzy znaki symbolizują prawo do
odczytu, zapisu i wykonywania dla grupy,
która posiada plik.
Ostatnie trzy znaki symbolizują prawo
do odczytu, zapisu i wykonywania
dla pozostałych użytkowników systemu.
Dla przykładu, ciąg znaków –rw–rw–r–
opisuje plik, który może być odczytywany
i zapisywany przez właściciela i grupę,
ale pozostali użytkownicy systemu mogą
go tylko odczytywać.
Identyfikatory właściciela pliku i grupy
wyświetlane są w środkowej części wiersza.
Dla przykładu, na rysunku 10.12 widać,
że właścicielem pliku frodo_sig.wcm jest
użytkownik fbaggins, należący do grupy
Hobbits.
Aby zmienić właściciela pliku
Aby dodać prawo dostępu do istniejącego
zestawu, wykorzystaj symbol +,
Posiadanie plików i prawa dost
ępu
Rozdział 10.
232
lub katalogu
1.
W wierszu poleceń wpisz chown oraz
identyfikator nowego właściciela pliku,
a także nazwę pliku, na przykład
chown fbaggins ring.of.power
2.
Wciśnij Enter.
Wskazówka
Opcja –R polecenia chown pozwala
zmienić właściciela wszystkich plików
znajdujących się w podkatalogach danego
katalogu.
Aby zmienić identyfikator grupy
posiadającej plik
1.
W wierszu poleceń wpisz chgrp oraz
identyfikator nowej grupy i nazwę pliku,
na przykład
chgrp hobbits ring.of.power
2.
Wciśnij Enter.
Aby zmienić prawa dostępu
do pliku lub katalogu
W wierszu poleceń wpisz chmod oraz trzy
zestawy praw dostępu rozdzielone przecinkami
oraz nazwę pliku.
Dla przykładu, polecenie
chmod u=rw,g=rx,o=r rin* powoduje
przypisanie praw do odczytu i zapisu
właścicielowi pliku i grupie posiadającej plik
oraz pozostałym użytkownikom dla wszystkich
plików w katalogu bieżącym, których nazwy
zaczynają się od liter rin. Znak równości (=)
wymusza zastąpienie aktualnych praw dostępu
nowymi, zamiast ich dołączania.
Wskazówki
Istnieje wiele różnych sposobów określania
praw dostępu za pomocą polecenia chmod.
Aby nadać prawa dostępu wszystkim
plikom w podkatalogach, wykorzystaj
opcję –R polecenia chmod.
Pliki, procesy i prawa dostępu
233
Rysunek 10.13. Za pomocą środowiska Gnome
można zmienić domyślne ustawienia grup.
Rysunek 10.14. Domyślne prawa dostępu do plików
tworzonych przez użytkowników grupy muszą być
określone za pomocą odpowiedników
numerycznych.
Aby ustalić domyślne prawa dostępu do
plików tworzonych przez określoną grupę
za pomocą środowiska Gnome
1.
Zaloguj się jako root.
2.
Uruchom program Linuxconf.
3.
Przewiń zawartość listy znajdującej się
w lewej części okna i wybierz pozycję
Group Definitions. Wyświetlona zostanie
zakładka User Groups (rysunek 10.13).
4.
Wybierz grupę, którą zamierzasz edytować,
na przykład Hobbits. Otwarte zostanie
okno dialogowe Group Specification.
5.
Kliknij na zakładkę Directories
(rysunek 10.14).
6.
W polu Creation Permissions wprowadź
numeryczny odpowiednik praw dostępu,
które będą stosowane do plików tworzonych
przez użytkowników danej grupy.
7.
Kliknij na przycisk Accept.
Wskazówka
Ze względów bezpieczeństwa Linux nie
pozwala na domyślne przyznawanie prawa
do uruchamiania. Prawo to trzeba
przyznawać ręcznie dla plików, które tego
wymagają. Z tego powodu jeśli wprowadzisz
liczbę, która odpowiada przyznaniu prawa
do wykonywania, na przykład siódemkę,
podając zestaw 742, zostanie ona
potraktowana jako szóstka.
Posiadanie plików i prawa dost
ępu
Rozdział 10.
234
Podsumowanie
W tym rozdziale nauczyłeś się:
Uzyskiwać informacje o komputerze
i systemie operacyjnym.
Sprawdzać ilość wolnego miejsca
na dysku.
Określać ilość miejsca zajmowanego
na dysku przez katalog.
Sprawdzać typ pliku.
Sprawdzać, kto jest zalogowany.
Przeglądać i monitorować procesy.
Zabijać procesy.
Montować i odmontowywać systemy
plików za pomocą wiersza poleceń
i w środowisku Gnome.
Tworzyć i usuwać katalogi.
Tworzyć, kopiować, przenosić i usuwać pliki.
Korzystać z polecenia find do wyszukiwania
plików.
Korzystać z programu grep
do wyszukiwania tekstu w plikach.
Używać poleceń head i tail do wyświetlania
początkowych i końcowych fragmentów
plików.
Sprawdzać prawa dostępu i właściciela
katalogów i plików.
Zmieniać właściciela plików.
Zmieniać prawa dostępu.
Określać domyślne prawa dostępu
dla plików tworzonych przez członków
grupy.
Podsum
owanie