Atrybuty plików w linuxie.

W systemie linux istnieje rozbudowany system praw oraz atrybutów plików. Ten dokument ma na celu przybliżenie sposobu manipulowania prawami i atrybutami plików przy użyciu podstawowych narzedzi udostępnianych przez linuxa. Użytkownik może zmieniać prawa tylko dla tych plików których jest właścicielem. Jedynie administrator systemu ‚root’ ma prawo swobodnego manipulowania plikami.

Komenda ‚ls -l’ wyświetla liste plików oraz prawa które do nich przysługują. Prawa do plików obowiązują dla : „u” – właściciela pliku „g” – grupy do której należy właściciel „o” – pozostałych użytkowników

Do zmiany praw słuzy systemowa komenda ‚chmod’ (przydatna jest opcja ‚chmod -R’ ,która zmienia prawa rekursywnie. Polecenia chmod mozna uzywac na kilka sposobow np. :

chmod kto operacje prawa[,kto operacje prawa] plik kto :

„u” – wlasciciel pliku
„g” – grupa
„o” – inni
„a” – wszystcy

operacje :

„+” – dodaje prawa
„-” – usuwa prawa
„=” – ustawia prawa (rownoczesnie moze zdjac jedne i dodac inne)

prawa :

„r” – odczyt
„s” – UID oraz GID (zależy na którym polu jest ustawiony)
„t” – „sticky bit”
„w” – zapis
„x” – uruchamianie/przeszukiwanie

Krótkie objaśnienie terminu „sticky bit”:

Dla katalogu ,oznacza to ,ze pliki w nim utworzone moze kasowac tylko root lub wlasciciel i to niezaleznie od praw zapisu do katalogu.

Dla pliku juz sie nie stosuje tego atrybutu ,byl on wykorzystywany w starszych systemach do przechowywania plikow wykonywalnych w partycji wymiany.

Mozna rowniez inaczej np. :

chmod [xnnn] plik 

(wartosc moze byc ustawiona na kazdym polu ‚n’)

„wartosc” – „prawa”

„0″ – „—”
„1″ – „–x”
„4″ – „r–”
„5″ – „r-x”
„6″ – „rw-”
„7″ – „rwx”

(wartosc moze byc ustawiona na kazdym polu ‚x’)

„wartosc” – „prawa”

„0″ – „none”
„1″ – „sticky bit”
„2″ – „GID”
„4″ – „UID”

Przyklady :

chmod ug+x file (dodaje prawa wykonywania dla wlasciciela i grupy)
chmod 770 file (dodaje pelne prawa dla wlasciciela i grupy)
chmod 4777 file (ustawia SuID-a oraz pelne prawa dla wlasciciela ,grupy i reszty)
chmod u=rwx,go=rx file (dodaje pelne prawa dla wlasciciela oraz odczyt i wykonywanie dla reszty
chmod u+s file (ustawia UID „SuID”)
chmod g+s file (ustawia GID)

Oprócz praw do plików mozemy zmieniać także atrybuty. Polecenie służące do wyświetlania atrybutów to ‚lsattr’. W celu zmiany atrybutów pliku uzywamy polecenia ‚chattr’ (dostępna jest również opcja ‚chattr -R’)

Polecenia chattr można używać w następujący sposób : chattr [opcja] [atrybuty] [plik] Najważniejsze atrybuty zaimplementowane na dzień dzisiejszy to :

„a” – do pliku można tylko dopisywać (append)
„c” – taki plik jest automatycznie kompresowany podczas zapisu i dekompresowany podczas odzczytu
„d” – taki atrybut oznacza ,że plik nie jest uwzględniany jako plik do backupu przez program dump
„i” – pliku z tym atrybutem nie można modyfikowac ani zmieniac jego nazwy lub tworzyc do niego linka, tylko root moze ustawiac ten atrybut
„s” – atrybut pozwala na kasowanie pliku bez jakielkolwiek możliwości jego odzysku
„S” – pliki z tym atrybutem są zapisywane na dysk natychmiastowo (synchronicznie) po dokonaniu zmian
„u” – atrybut pozwala na odzyskanie pliku w przypadku skasowania

Przykład :

chattr c file (ustawia atrybut kompresji dla pliku)

Chcesz więcej? Zobacz na strony podręcznika systemowego „man chmod” oraz „man chattr”

Napisano dnia: r.