Wprowadzenie do systemu Unix

Podobne dokumenty
Wprowadzenie do systemu Unix

Wprowadzenie do systemu Unix

Wprowadzenie do systemu Unix

Wprowadzenie do systemu Unix

Wprowadzenie do systemu Unix

Kurs systemu Unix wykład wstępny. Kurs systemu Unix 1

System plików Linuxa. Tomasz Borzyszkowski

Typy plików. Oznaczenie f -

Użytkownicy I. Użytkownik. Głównym celem istnienia użytkowników i grup w systemie jest utrzymanie porządku i separacja uprawnień.

Praca z systemami plików Linuksa

Funkcje systemu Unix

Linux. Uprawnienia pliku / katalogu, właściciel pliku, UID, GID, sticky bit.

1. Znajdź za pomocą programu locate wszystkie pliki które zawierają w nazwie słowo netscape locate netscape

Wieloprogramowy system komputerowy

Linux: System Plików

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier

"Klasyczna" struktura systemu operacyjnego:

Warstwy systemu Windows 2000

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1)

UNIX SYSTEM PLIKÓW. UNIX System plików

Systemy Operacyjne - Operacje na plikach

Znaki globalne w Linuxie

Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące:

Jądro Powłoka System plików Programy użytkowe

Mechanizmy lokalnej kontroli dostępu (ACL)

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

Instalacja Systemu Linux na maszynie writualnej

us lugi katalogowe? Czym różni si e serwer katalogowy od serwera bazy danych:

Uruchamianie SNNS. Po uruchomieniu. xgui & lub snns & pojawia si e okno. programu. Symulator sztucznych sieci neuronowych SNNS 1

Wieloprogramowy system komputerowy

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

Organizacja systemu plików

Bezpieczeństwo systemów informatycznych

Praca z systemami plików Linuksa

Praca z systemami plików Linuksa

Przykładowa konfiguracja systemu komputerowego

Praca semestralna. Temat: Użytkownicy, grupy, autoryzacja i uprawnienia w systemie Linux. CENTRUM EDUKACJI AKADEMIA SUKCESU

Pracownia Technik Obliczeniowych

DOS Podstawowe komendy Przygotowanie dyskietki do pracy Praca z katalogami w systemie DOS Operacje kopiowania

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

System operacyjny UNIX system plików. mgr Michał Popławski, WFAiIS

Ćwiczenie nr 520: Metody interpolacyjne planowania ruchu manipulatorów

Współczesne systemy komputerowe

Podstawy systemów UNIX

Ćwiczenie 9 Linux - operacje systemu plików

Podstawowe zasady bezpieczeństwa

Pracownia komputerowa. Dariusz wardecki, wyk II

System komputerowy. System komputerowy

Systemy operacyjne na platformach mobilnych 2 Podstawy obsługi powłoki Bash

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

KATEGORIA OBSZAR WIEDZY NR ZADANIA Podstawowe informacje i czynności

Utwórz na pulpicie katalog: pierwsza-litera-imienia_nazwisko (np. j_kowalski). W tym katalogu zapisz pliki, które będą tworzone w ramach ćwiczenia

Instalacja Linuksa i podstawowa konfiguracja. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Systemy plików atrybuty plików 3. Na tych samych warunkach 3.0 Unported

Organizacja systemu plików

2. System uprawnień w linuxie

Działanie systemu operacyjnego

tworzenie katalogów Aby utworzyć nowy katalog wpisz: mkdir katalog1 Ta komenda utworzy katalog o nazwie katalog1.

Podstawy Informatyki. Wykład 3 UNIX

Systemy Operacyjne Ćwiczenia

Działanie systemu operacyjnego

2. Informacje o mechanizmie limitów

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Administracja systemem Linux p. 1

LABORATORIUM 6-7 WSTĘP DO SIECI TELEINFORMATYCZNYCH SYSTEM OPERACYJNY UNIX

Linux Elementy instalacji. 1 Podział dysku na partycje. 2 Konfiguracja sprzętu (automatycznie) 3 Założenie użytkowników

System plików. Podstawy systemu Linux

Operacje na plikach. Organizacja systemu plików. Typy plików. Struktury plików. Pliki indeksowane. Struktura wewn etrzna

Działanie systemu operacyjnego

System plików - wprowadzenie. Ścieżki dostępu. Informatyka ćw 1

UŻYTKOWNIK. APLIKACJE UŻYTKOWE (wszelkie programy zawarte domyślnie w systemie operacyjnym jak i samodzielnie zainstalowane przez użytkownika systemu)

Ustalanie dostępu do plików - Windows XP Home/Professional

Działanie systemu operacyjnego

Wstęp do systemów wielozadaniowych laboratorium 02 Praca w systemie plików

Prawa dostępu do plików

Administracja serwerami

Organizacja systemu plików

Szeregowanie w systemach czasu rzeczywistego

Paradygmaty programowania. Paradygmaty programowania

Powłoka, redyrekcja, potok

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

ZAJĘCIA Komendy Linux WB -> w konsoli tty2 finger exit man pwd pwd finger ls man ls. -> po 2 minusach interpretacja słowa

Ćwiczenie 1. Podstawowe wiadomości

Pliki. Operacje na plikach w Pascalu

Temat zajęć: Wprowadzenie oraz obsługa systemu plików.

aodczytywać zniegoza pomoc afunkcjiread, (niebuforowane funkcje wejścia/wyjścia). e sukcesem, to zwróci liczb, erzeczywiściezapisanychbajtów.

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 25 ARCHITEKTURA SYSTEMU LINUX. Opracował Sławomir Zieliński

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

host name: protokół SSH System plików - wprowadzenie Ścieżki dostępu

Test. Administrowanie sieciowymi systemami operacyjnymi

Linux Ubuntu - zarządzanie użytkownikami

Archiwizacja danych. nie jeden ale wiele dysków), jak również przed jednoczesna

Ćwiczenia Linux konsola

PAMIĘĆ OPERACYJNA...107

Komputery przemysłowe i systemy wbudowane

Środowisko procesu Unixowego

ep Podstawy j Wst ezyka Tcl zaawansowany GUI-Tk Zastosowania Tcl/Tk Ireneusz So lczyk 26 kwietnia 2006

Transkrypt:

Wprowadzenie do systemu Unix Witold Paluszyński Katedra Cybernetyki i Robotyki Politechnika Wroc lawska http://www.kcir.pwr.edu.pl/~witold/ 2000 2015 Ten utwór jest dost epny na licencji Creative Commons Uznanie autorstwa- Na tych samych warunkach 3.0 Unported Utwór udost epniany na licencji Creative Commons: uznanie autorstwa, na tych samych warunkach. Udziela si e zezwolenia do kopiowania, rozpowszechniania i/lub modyfikacji treści utworu zgodnie z zasadami w/w licencji opublikowanej przez Creative Commons. Licencja wymaga podania oryginalnego autora utworu, a dystrybucja materia lów pochodnych może odbywać si e tylko na tych samych warunkach (nie można zastrzec, w jakikolwiek sposób ograniczyć, ani rozszerzyć praw do nich).

Historia 1966-1969: w Bell Labs (AT&T) powstaje Unix na komputer PDP-7 1 stycznia 1970: 0:00 godzina zero systemu Unix lata 70-te: powolny wzrost popularności, g lównie w instytucjach badawczych i akademickich 1976 wersja szósta (Sixth Edition) Univ.of California Berkeley wykupi l prawa do kodu systemu Unix i rozpocza l prace nad w lasna odmiana BSD (Berkeley Software Distribution) lata 80-te: wersja komercyjna AT&T: System III, V wdraża si e powoli 1983 4.2BSD: pe lne oprogramowanie TCP/IP 1984 100,000 instalacji Uniksa na różnych platformach sprz etowych 1988 poczatki standaryzacji Uniksa: POSIX, później X/Open lata 90-te: dalszy rozwój Unixa: dojrza ly, stabilny system z dobrze rozwini et a warstwa sieciowa, latwy do przenoszenia na nowe platformy sprz etowe koniec XX wieku: popularność Linuxa wiek XXI: rewolucja open-source, powstaje wiele systemów oprogramowania System Unix historia 3

Standardy standardy interface u systemowego Unixa: POSIX.1 (Portable Open System Interface) IEEE 1003.1 1988/1990, ISO/IEC 9945-1:1990, uzupe lnienia: POSIX.1b-1993 (rozszerzenia czasu rzeczywistego), POSIX.1c-1996 (watki) XPG (X/Open Portability Guide) konsorcjum X/Open: XPG3 1989, XPG4 1993, uzupe lnia standardy POSIX o standard AT&T SVID3 (System V Interface Definition Issue 3) inne standardy Unixa o mniejszym znaczeniu: standard interpretera komend i aplikacji systemowych IEEE 1003.2 (POSIX.2-1992), standard administracji systemu IEEE 1003.7 System Unix standardy 4

Architektura systemu Unix jadro pow loka programy terminale hardware: urzadzenia dyskowe (integralna cz eść systemu) systemy plików tzw. interface sieciowy (również pod kontrola systemu), inne urzadzenia I/O (terminale, drukarki, modemy, nap edy taśm, itp.) software: jadro zarzadza sprz etem i umożliwia równoleg le lub quasi-równoleg le uruchamianie procesów w wirtualnych przestrzeniach adresowych drivery urzadzeń wkompilowane lub dynamicznie dolinkowane do jadra system kompilatora C zawiera pliki nag lówkowe i funkcje systemowe do korzystania z zasobów systemu System Unix architektura 5

System Unix architektura 6

Konta użytkowników Podstawowe atrybuty: numery i nazwy kont, grupy, has lo, kartoteka dyskowa, desygnowany interpreter komend. Inne rozproszone atrybuty użytkownika: ulimit, quota, itp., np. uprawnienia do drukowania na konkretnej drukarce. Zak ladanie i kasowanie kont użytkowników, pliki administracyjne (passwd i shadow). Użytkownicy w konfiguracji sieciowej (YP/NIS, NIS+, LDAP). System Unix użytkownicy 7

Uprawnienia użytkowników Podstawowe uprawnienia użytkownika chronione has lem: dost ep do kartoteki i plików w lasnych (również poza kartoteka w lasna, np. skrzynka pocztowa), ustawianie praw w lasności i praw dost epu plików, maska tworzenia plików. Nabywanie praw innych użytkowników: su user, su - user, newgrp, pliki setuid, setgid, oddawanie plików innym użytkownikom. Mechanizm grup do wspó ldzielenia uprawnień do wybranych plików lub kartotek. Mechanizm list ACL do wspó ldzielenia uprawnień do wybranych plików lub kartotek. System Unix użytkownicy 8

Grupy użytkowników W systemie Unix istnieje koncepcja grup użytkowników. Tworzenie grup użytkowników mia lo w oryginalnym zamyśle u latwić zarzadzanie uprawnieniami do plików. Każdy użytkownik niejako z obowiazku należy do jakiejś grupy użytkowników, i można tworzac konta użytkowników od razu razem z nimi tworzyć pewne grupy. Gdy taka grupa odpowiada rzeczywistej grupie wspó lpracuj acych ludzi, to moga oni latwo tworzyć, udost epniać sobie nawzajem, i korzystać z plików należacych do tej grupy. Użytkownik móg l tworzyć pliki i pozostawać ich twórca i w laścicielem ale grupowym w laścicielem plików stawa la si e systemowa grupa tego użytkownika. Użytkownik/w laściciel móg l nadać prawa dost epu do tego pliku (o nadawaniu praw dost epu b edzie poniżej) dla grupy, pozwalajace na odczyt i/lub zapis do pliku dla ca lej grupy. Tworzenie i kasowanie plików jest zwiazane z uprawnieniem typu write do katalogu zawierajacego dany plik. Zatem, podobnie nadajac uprawnienia dla konkretnych katalogów, ich w laściciel móg l w efekcie zarzadzać uprawnieniem do tworzenia i kasowania plików w danym katalogu. System Unix grupy użytkowników 9

Problem z grupami: grupy dodatkowe Przydatna na pozór koncepcja grup szybko okaza la si e niewystarczajaca. Na przyk lad, wyk ladowca móg lby chcieć stworzyć grup e KursUnix aby udost epniać pliki studentom tego kursu. Co jednak zrobić, jeśli inny wyk ladowca chcia lby w podobnym celu stworzyć grup e SystemyOperacyjne? Do której grupy powinni należeć studenci? Widać, że koncepcja kiedy jeden użytkownik należy do dok ladnie jednej grupy jest niewystarczajaca. Dlatego jako rozwiazanie tego problemu istnieje mechanizm grup dodatkowych. Użytkownicy rzeczywiście należa do jednej grupy podstawowej, określonej w pliku /etc/passwd, ale moga należeć do dowolnej liczby innych grup, wed lug specyfikacji zawartej w pliku /etc/group. Korzystanie z uprawnień grup dodatkowych odbywa si e w różnych systemach w nieco inny sposób. Wi ekszość systemów Unix wymaga użycia w tym celu polecenia newgrp, które uruchamia nowa instancj e interpretera poleceń, z nowa grupa. W systemach Linux użytkownik automatycznie posiada uprawnienia wszystkich grup dodatkowych, do których należy. System Unix grupy użytkowników 10

System plików: katalogi i pliki Dyskowy system plików jest podstawa dzia lania systemu Unix. Zawiera zarówno katalogi i pliki systemowe, jak i programy i pliki aplikacji, oraz katalogi i pliki użytkowników w jednej hierarchicznej strukutrze. Dodatkowe dyski zawierajace systemy plików moga być do laczane do systemu w dowolnym miejscu systemu plików operacja mount. System Unix system plików 11

Katalogi systemowe / korzeń systemu plików /etc katalog zawierajacy najważniejsze pliki konfiguracyjne i startowe /dev katalog zawierajacy tzw. pliki urzadzeń stanowiace punkty wejścia do różnych driverów, pseudourzadzenia, itp. /usr tradycyjnie katalog zawierajacy oprogramowanie systemowe i użytkowe (historycznie zawiera l również katalogi użytkowników, obecnie zwykle w /home) /bin /usr/bin programy systemowe i użytkowe /sbin /usr/sbin programy administracyjne /var pliki o zmiennej zawartości, g lównie rejestry (logi) systemowe, pliki robocze podsystemu poczty, podsystemu drukowania, itd. System Unix system plików 12

/lib /usr/lib /usr/x11/lib... katalogi zawierajace biblioteki procedur binarnych /usr/include pliki nag lówkowe kompilatora C /usr/local oprogramowanie doinstalowywane do systemu: tworzone lokalnie i komercyjne /tmp pliki tymczasowe, cz esto umieszczony na RAM-dysku, okresowo automatycznie czyszczony /home zbiór katalogów użytkowników System Unix system plików 13

Pliki systemowe /etc/passwd root:x:0:1:super-user:/:/sbin/sh powerdown:x:0:1:power Down User:/:/usr/local/sbin/powerdown reboot:x:0:1:reboot User:/:/usr/sbin/reboot daemon:x:1:1::/: bin:x:2:2::/usr/bin: sys:x:3:3::/: adm:x:4:4:admin:/var/adm: lp:x:71:8:line Printer Admin:/usr/spool/lp: witold:x:101:100:witold Paluszynski,p.307/C-3:/home/witold:/usr/bin/tcsh /etc/group root::0:root other::1: bin::2:root,bin,daemon sys::3:root,bin,sys,adm adm::4:root,adm,daemon users::100: System Unix system plików 14

System plików: różne typy plików Pliki: zwyk le pliki (ciagi bajtów), pliki specjalne (znaki specjalne w nazwach plików *,?,[],{} interpretowane przez interpreter poleceń): bash-3.00$ ls -lr /etc /etc: total 619 lrwxrwxrwx 1 root root 14 kwi 5 2005 TIMEZONE ->./default/init drwxr-xr-x 6 root other 512 kwi 5 2005 X11... kartoteka: drwxrwxr-x 27 root sys 3584 Oct 16 15:17 /etc zwykle pliki: plik tekstowy, plik wykonywalny: -r--r--r-- 1 root sys 1129 Sep 29 11:05 /etc/passwd -r-xr-xr-x 1 bin bin 13872 Oct 25 1995 /usr/bin/ls System Unix system plików 15

System plików: pliki specjalne Pliki specjalne umożliwiaja dost ep do rzeczywistych urzadzeń pod kontrola systemu (pliki typu c i b ), albo do unixowych mechanizmów wejścia/wyjścia takich jak potoki (pliki typu p ) lub gniazdka (pliki typu s ): pliki specjalne urzadzen: crw--w---- 1 uucp tty 106, 1 Oct 4 05:54 /dev/tty01 brw-rw-rw- 1 root sys 36, 2 Jul 10 1997 /dev/fd0 "nazwany potok" (named pipe, FIFO): prw-rw-rw- 1 root root 0 Oct 16 15:17 /tmp/.asppp.fifo gniazdko: srwx------ 1 witold gurus 0 Oct 20 18:25 /tmp/jpsock.150_01.1838= System Unix system plików 16

System plików: dowiazania (linki) Dowiazania plików (linki): różnych pozycje w katalogach odwo luj ace si e do tego samego pliku. Linki moga mieć różne nazwy, lecz zarówno zawartość pliku jak i wszystkie atrybuty sa identyczne. Po utworzeniu drugiego linku do pliku nie można odróżnić który by l oryginalny; stad wszystkie pozycje plików w katalogach nazywa si e linkami. Dodatkowe linki do pliku moga istnieć tylko w ramach tej samej struktury dyskowej. jeden plik z wieloma dowiazaniami (linkami): 265 -r-xr-xr-x 5 root bin 240264 sty 23 2005 /usr/bin/edit 265 -r-xr-xr-x 5 root bin 240264 sty 23 2005 /usr/bin/ex 265 -r-xr-xr-x 5 root bin 240264 sty 23 2005 /usr/bin/vedit 265 -r-xr-xr-x 5 root bin 240264 sty 23 2005 /usr/bin/vi 265 -r-xr-xr-x 5 root bin 240264 sty 23 2005 /usr/bin/view System Unix system plików 17

System plików: linki symboliczne Linki symboliczne: pliki specjalne zawierajace odwo lania do innych plików; pe lnia podobna funkcj e jak linki, lecz sa inaczej skonstruowane. Wi ekszość operacji na plikach widzi linki symboliczne zupe lnie tak samo jak samo jak prawdziwy link do pliku, sa jednak operacje specjalne dzia lajace tylko na linkach symbolicznych. Linki symboliczne moga istnieć do plików w innych strukturach dyskowych, i moga również istnieć do nieistniejacych plików. Linki symboliczne moga odwo lywać si e zarówno do plików jak i do katalogów. linki symboliczne: lrwxrwxrwx 1 root root 12 Jul 10 1997 /etc/hosts ->./inet/hosts lrwxrwxrwx 1 root root 14 Jul 10 1997 /etc/log ->../var/adm/log System Unix system plików 18

System plików: atrybuty plików i struktura i-node Atrybuty plików: w laściciel i grupa pliku, prawa dost epu, bit set-uid, bit set-gid, sticky bit (pliki: save text, katalogi: /tmp), specjalne kombinacje bitów praw dost epu (np. mandatory record locking = g+s,g-x), lista ACL. I-node: struktura istniejaca dla każdego pliku zawierajaca szereg informacji o tym pliku (w sensie obiektu istniejacego na dysku, a nie linku): typ pliku: zwyk ly, specjalny (urzadzenie), kartoteka 9 bitów praw dost epu i 3 bity dodatkowe d lugość pliku w bajtach numer w laściciela numer grupy czas ostatniej modyfikacji pliku czas ostatniej modyfikacji i-node u czas ostatniego dost epu do pliku liczba odwo lań z różnych kartotek systemu plików, tzw. linków inne informacje, mniej istotne dla administratora System Unix system plików 19

System plików: 9 bitów praw dost epu Pierwsze trzy bity 9-bitowego wektora praw dost epu określaja prawa w laściciela pliku, środkowe trzy bity określaja prawa grupowego w laściciela pliku, a ostatnie trzy bity prawa pozosta lych użytkowników. W przypadku katalogów, r określa prawo do czytania listy plików katalogu, bez dost epu do tych plików, nawet gdy ich indywidualne prawa taki dost ep daja. Prawo x pozwala na przy laczanie si e do katalogu i dost epu do zawartych w nim plików, zgodnie z ich w lasnymi prawami dost epu, ale bez możliwości odczytania listy tych plików. Natomiast w określa prawo do tworzenia i usuwania plików w katalogu. Prawo w nie ma wp lywu na możliwość edycji istniejacych plików w miejscu, ale ma na możliwość zmiany ich nazwy. Uwaga: semantyka określania praw dost epu mówi, że jeśli UID procesu jest w laścicielem pliku, to prawa dost epu sa określone przez pierwsze trzy bity, a jeśli UID nie jest w laścicielem pliku, ale GID procesu jest grupowym w laścicielem pliku, to prawa dost epu sa określone przez środkowe trzy bity, NIEZALEŻNIE od praw dost epu określonych przez ostatnie trzy bity. Oznacza to, że prawa dost epu moga zabronić w laścicielowi dost epu do pliku, nawet gdyby jego grupa by na to pozwala la, oraz, że moga zabronić grupowemu w laścicielowi pliku dost epu, gdy pozostali użytkownicy taki dost ep moga uzyskać. System Unix system plików 20

System plików: 3 dodatkowe bity plik wykonywalny set-uid: -r-s--x--x 1 root sys 296300 Sep 22 1997 /usr/bin/admintool plik wykonywalny set-gid: -r-xr-sr-x 1 bin tty 9024 Oct 25 1995 /usr/sbin/wall plik wykonywalny save-text: -rwxr-xr-t 1 witold users 7736776 Sep 30 1996 /usr/local/bin/emacs-19.34 kartoteka ze "sticky bit": drwxrwxrwt 4 sys sys 512 Oct 17 06:29 /tmp zwykly plik z mandatory record locking: -rwxr-lr-x 2 witold users 152673 May 30 2000 lp System Unix system plików 21

System Unix system plików 22

System plików: listy praw dost epu ACL Zarzadzanie uprawnieniami za pomoca 9 bitów praw dost epu, nawet w po laczeniu z mechanizmem grup nie daje możliwości potrzebnych w wielu sytuacjach. Dlatego w systemach Unix w pewnym momencie zaimplementowano listy praw dost epu (ACL Access Control List) dla plików, znane z innych systemów operacyjnych. Poza podstawowymi dziewi ecioma bitami określajacymi prawa dost epu, pliki i katalogi moga mieć list e ACL, która rozszerza lub ogranicza te prawa dost epu. Listy ACL rozszerzaja możliwości nadawania, lub odbierania, konkretnych uprawnień konkretnym użytkownikom lub grupom. Dany plik lub katalog może posiadać list e ACL lub nie. Można to poznać po znaku plus po podstawowym ciagu praw dost epu na listingu ls -l: sequoia-582> ls -l Unix_shell.pyt -rw-r--r--+ 1 witold staff 39244 lut 6 2008 Unix_shell.pyt System Unix system plików 23

Listy praw dost epu ACL: prawa dla użytkowników Lista ACL może zawierać szereg wpisów dla dowolnie wybranych użytkowników i dowolnie wybranych grup, wprowadzajacych nowe uprawnienia dla danego użytkownika lub grupy. sequoia-583> getfacl Unix_shell.pyt # file: Unix_shell.pyt # owner: witold # group: staff user::rwuser:ekr:r-- #effective:r-- group::r-- #effective:r-- mask:r-- other:r-- Podobnie jak w przypadku podstawowych praw dost epu, gdy istnieje wpis dla danego użytkownika, to jest on stosowany niezależnie od wpisów dla grup, lub innych. Dzi eki temu, można np. odebrać konkretne uprawnienia konkretnemu użytkownikowi z jakiejś grupy, nie usuwajac uprawnień dla ca lej grupy. System Unix system plików 24

Listy praw dost epu ACL: uprawnienia domyślne Możliwe jest również tworzenie wpisów domyślnych (default), które dla katalogów określa domyślne prawa dla tworzonych w nim plików. Wszystkie pliki i podkatalogi utworzone nast epnie w katalogu z ustawiona lista ze wpisem domyślnym b ed a mia ly uprawnienia z tego wpisu. B edzie to zrealizowane za pomoca zwyk lych bitów praw dost epu, a jeśli to niemożliwe, to przez utworzenie listy ACL dla każdego z nich. System Unix system plików 25

Listy praw dost epu ACL: maska Maska filtruje wpisy dla nazwanych użytkowników i wszystkich grup (w laściciela i nazwanych). Nie filtruje ona wpisów dla w laściciela ani innych użytkowników: sequoia-584> setfacl -m user:ekr:rw- Unix_shell.pyt sequoia-585> getfacl Unix_shell.pyt # file: Unix_shell.pyt # owner: witold # group: staff user::rwuser:ekr:rw- #effective:r-- group::r-- #effective:r-- mask:r-- other:r-- sequoia-586> setfacl -m mask:rwx Unix_shell.pyt sequoia-587> getfacl Unix_shell.pyt # file: Unix_shell.pyt # owner: witold # group: staff user::rwuser:ekr:rw- #effective:rwgroup::r-- #effective:r-- mask:rwx other:r-- System Unix system plików 26

Eksploracja systemu plików: find # znajdowanie plików typu JPEG find ~ -name *.jpg -print # znajdowanie niedawno modyfikowanych plików (< 10 dni) find ~ -mtime -10 -print # to samo, ale chcemy zobaczyć informacje ls o tych plikach find ~ -mtime -10 -ls # znajdowanie plików, które nie byly czytane wi ecej niz 100 dni find ~ -atime +100 -print # zauwazmy, ze dla kartotek operacja find modyfikuje daty odczytu # chcemy zobaczyć daty dost epu, ale: find ~ -atime +100 -ls # pokazuje nam domyślnie daty modyfikacji plików # zeby zobaczyć daty dost epu jawnie, wywolujemy polecenie ls find ~ -atime +100 -exec ls -lu {} \; # znajdowanie plików wedlug numeru i-node System Unix system plików 27

find /etc -inum xxx -print # inne wywolania find ~ size +1000000 -ls find ~ \( -name *.jpg -o -name *.jpeg -o -name *.JPG \) -print find /etc -type s -ls find /etc \! -type f -ls # przyklad z mana: find $HOME \( -name a.out -o -name *.o \) \ -atime +7 -exec rm {} \; Przydatne mechanizmy z find: find /home -name *.txt -print 2>/dev/null xargs System Unix system plików 28

Terminale Terminale sa artefaktem pierwotnej organizacji systemu komputerowego, kiedy użytkownicy pod laczali si e do komputerów z rzeczywistych terminali alfanumerycznych przez asynchroniczne lacza szeregowe. Obecnie takie konfiguracje sa nadal czasami stosowane, chociaż najcz eściej rol e terminala pe lni komputer PC z emulatorem terminala znakowego, a zamiast laczy szeregowych wykorzystuje si e po laczenia sieciowe. Jednak poj ecie terminala zosta lo tak g l eboko wkomponowane w architektur e systemu Unix, że terminale istnieja i sa widoczne nawet pomimo, iż nie wykorzystuje si e ich do pierwotnych funkcji. Również system Linux, pomimo iż napisany od nowa dużo później niż Unix, zachowuje t e struktur e. Rola terminala jest obs luga znakowego interfejsu użytkownika. Przez terminal użytkownicy moga w laczać si e do systemu, i nast epnie wykonywać różne prace korzystajac ze znakowego interpretera poleceń. Ponieważ rzadko kiedy wykorzystuje si e w tym celu lacza szeregowe, w systemie istnieja pseudoterminale, symulujace transmisj e szeregowa do i od systemu. System Unix terminale 29

Sterownik terminala Cz eść jadra Unixa odpowiedzialna za komunikacj e znakowa z terminalami nazywa si e sterownikiem terminala (terminal driver). Jest to podsystem o wielu parametrach konfiguracyjnych. Jedna z jego ważniejszych funkcji jest buforowanie i edycja wiersza danych, oraz funkcja echa. Buforowanie i prosta edycja wiersza danych z terminala, zapewniana przez sterownik terminala, nazywana jest trybem ugotowanym (cooked). Funkcje te można wy laczyć, przechodzac do trybu surowego (raw, albo inaczej: kanonicznego): stty -a stty -echo set +o emacs +o vi # konieczne w bashu stty echo stty eof ^a erase ^e kill ^k werase ^w rprnt ^p stty -icanon cat > /tmp/proba ala ma kata.^h^h^h^hota. ^D ^C stty icanon stty sane # przydatne kiedy sprawy zajda za daleko System Unix terminale 30

Terminale: bash i readline Rozbudowany interpreter poleceń bash używa mechanizmów, które przeprogramowuja sterownik terminala, tworzac funkcjonalność dalece zmieniajac a sposób interakcji użytkownika z systemem. Dzieje si e tak za pośrednictwem funkcji readline, która wczytuje i buforuje wiersz danych użytkownika, pozwalajac na jego edycj e poleceniami podobnymi do edytora Emacsa lub vi. Funkcjonalność readline można w laczyć ustawiajac opcje basha jednym z poleceń (aczkolwiek jest ona typowo domyślnie w laczona): set -o emacs set -o vi readline ma wiele dost epnych funkcji i jest w dużym stopniu konfigurowalna. Polecenia konfiguracyjne można umieszczać w pliku $HOME/.inputrc System Unix terminale 31

Terminale: termcap/terminfo Poza samym przekazywaniem znaków z klawiatury terminala do programu, i z programu na ekran terminala, terminale realizuja dodatkowe funkcje. Np. okno terminala może s lużyć jako wizualny interfejs dla wielu programów, takich jak edytor vi, program top, itp. Rzeczywiste sprz etowe terminale, jak również programowe emulatory terminali, realizuja szereg funkcji zwiazanych z wyświetlaniem znaków, jak np. adresowanie kursora, czyli ustawianie kursora znakowego w dowolnej pozycji ekranu. Ponieważ istnieje wiele typów terminali różniacych si e szczegó lami realizacji tych operacji, Unix posiada baz e danych terminali, zwana terminfo albo termcap, szczegó lowo opisujacych te funkcje. echo $TERM; tput clear tput cup 10 10 tput reset tput init tput bel; tput smul tput rmul tput rev; tput bold tput sgr0 infocmp tput flash tput blink # zapami etaj te dwa polecenia # wylacza atrybuty znaków System Unix terminale 32