prawa dostepu, komputery, sieci komputerowe, książka


0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic


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ń.

0x08 graphic
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:

0x08 graphic
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

0x08 graphic
0x01 graphic

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.

0x08 graphic
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.

0x01 graphic

Rysunek 10.2. Polecenie finger pozwala zorientować się, kto jest zalogowany.

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.

0x08 graphic

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).

0x01 graphic

Rysunek 10.3. Aby wyświetlić listę wszystkich procesów związanych z terminalem, wydaj polecenie ps -a.

0x08 graphic
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.

0x01 graphic

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

0x08 graphic
0x01 graphic

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).

0x08 graphic
0x08 graphic
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ść.

0x08 graphic
0x01 graphic

Rysunek 10.6. Za pomocą panelu sterowania środowiska Gnome można również montować i odmontowywać systemy plików.

0x01 graphic

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ń.

0x08 graphic
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.

0x01 graphic

Rysunek 10.8. Katalogi są oznaczane literą d w pierwszej kolumnie listingu katalogu.

0x08 graphic
0x01 graphic

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.

0x08 graphic
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 *

0x01 graphic

Rysunek 10.10. Za pomocą polecenia find można wyświetlić pliki, których nazwy spełniają określone kryteria.

0x01 graphic

Rysunek 10.11. Polecenie grep jest używane do wyszukiwania w plikach tekstów pasujących do zadanego wzorca.

0x08 graphic

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.

0x08 graphic
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.

0x08 graphic
0x01 graphic

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.

0x08 graphic
0x08 graphic
Aby zmienić właściciela pliku 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.

  • Aby dodać prawo dostępu do istniejącego zestawu, wykorzystaj symbol +, na przykład polecenie
    chmod u+x,g+w ring.of.power powoduje dodanie prawa do wykonywania dla właściciela pliku ring.of.power i prawa do zapisu dla grupy.

  • Aby usunąć któreś z praw dostępu, wykorzystaj symbol -, na przykład polecenie
    chmod go-rwx ring.of.power
    odbiera wszystkie prawa dostępu użytkownikom, za wyjątkiem właściciela pliku.

Możliwe jest również określanie praw dostępu za pomocą odpowiedników numerycznych.

W tabeli 10.4 zebrano numeryczne odpowiedniki poszczególnych zestawów praw dostępu.

Dla przykładu, polecenie chmod 777 ring.of.power spowoduje przyznanie wszystkich praw dostępu do pliku wszystkim użytkownikom systemu.

Przy okazji, prawa 666, znane też jako znak bestii, to inaczej prawo do odczytu i zapisu pliku dla wszystkich użytkowników.

Niestety, numeryczne odpowiedniki praw dostępu nie są zbyt łatwe do zapamiętania. Używane są one do określania domyślnych praw dostępu, przypisywanych plikom tworzonym przez określone grupy użytkowników. --> [Author:KO]

0x08 graphic
0x01 graphic

Rysunek 10.13. Za pomocą środowiska Gnome można zmienić domyślne ustawienia grup.

0x01 graphic

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.

0x08 graphic
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.

Rozdział 10.

218

237

Pliki, procesy i prawa dostępu

Oryginał: Unfortunately, the information about numeric equivalents is more than arcane numerology. Uznałem, że niegrzecznie jest zakładać, że użytkownik nigdy w życiu nie słyszał o systemie dwójkowym (który w Polsce dzieci poznają chyba w szóstej klasie podstawówki, oczywiście w starym systemie), więc pominąłem ten komentarz.

10

Pliki, procesy i prawa dostępu

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)

Tabela 10.4. Numeryczne odpowiedniki zestawów praw dostępu.

Zestaw praw dostępu

Odpowiednik numeryczny

---

0

--x

1

-w-

2

-wx

3

r--

4

r-x

5

rw-

6

rwx

7

Pliki, procesy i prawa

Uzyskiwanie informacji o systemie

Uzyskiwanie informacji o systemie

Uzyskiwanie informacji o systemie

To mój proces i mogę z nim robić, co chcę

To mój proces i mogę z nim robić, co chcę

To mój proces i mogę z nim robić, co chcę

System plików

System plików

System plików

System plików

System plików

System plików

Posiadanie plików i prawa dostępu

Posiadanie plików i prawa dostępu

Posiadanie plików i prawa dostępu

Posiadanie plików i prawa dostępu

Podsumowanie



Wyszukiwarka

Podobne podstrony:
pocztawww, komputery, sieci komputerowe, książka
Ograniczanie dostępu do sieci bezprzewodowej, komputer
Prawa dotyczące komputerów definicje
Prawa dotyczące komputerów definicje
PRAWA DOSTEPU, █▓▓█ INFORMATYKA ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
DOM Z DOSTĘPEM DO SIECI GAZOWEJ2003
zdalny dostęp do sieci
Prawa dostępu, Informatyka, Linux, Linux - Podręcznik
Prawa dostępu do plików i katalogów
Prawa dostępu w Domino 091202
02 Linux Prawa dostępu do plików i katalogów
kod dostepu do sieci plus
Rozdział 9. Prawa dostępu do plików i katalogów, Kurs Linuxa, Linux
prawa dostępu [ PL ], Prawa dostępu, Prawa dostępu
3 Warstwa dostepu do sieci Ethernet
źródła prawa administracyjnego, Rózne z sieci sciagi Administracja
Źródła prawa administracyjnego(2), Rózne z sieci sciagi Administracja
dziedziczenie i prawa dostepu

więcej podobnych podstron