Uprawnienia do plików i folderów
Tworzymy sobie folder „folderek” a w środku kolejny folder „folder1”
oraz plik o nazwie „plik.txt”
Po wykonaniu komendy ‘ls – la’ (w skrócie ‘ll’) otrzymujemy
coś takiego:
Najbardziej interesują nas 2 linijki:
A najbardziej to co jest z lewej strony czyli:
drwxrwxr-x
- rw-rw-r--
Uprawnienia folderów
Pierwsza literka „d” oznacza że mamy do czynienia
z katalogiem (ang. directory)
drwxrwxr-x
kolejne trzy znaki czyli rwx odnoszą się do
właściciela katalogu
drwxrwxr-x
kolejne trzy odnoszą się do grupy do której należy
właściciel
drwxrwxr-x
trzy ostatnie to pozostali użytkownicy
uprawnienie ‘r’ to oczywiście odczyt czyli read
uprawnienie ‘w’ to oczywiście zapis czyli write
uprawnienie ‘x’ to oczywiście dostęp
jeżeli przypisujemy komuś prawo ‘rw’ to tak
naprawdę trzeba mu przypisać prawo ‘x’. wtedy użytkownik posiada uprawnienia
dostępu do katalogu oraz może wyświetlić jego zawartość i stworzyć w środku
jakiś plik.
Możemy też nadać uprawnienia ‘r-x’ wtedy dana
osoba morze wyświetlić zawartość katalogu.
Jednak możemy przypisać tylko uprawnienie ‘x’
czyli ‘--x' wtedy użytkownik nie widzi co znajduje się w katalogu a polecenie ‘ls
–la’ nie wyświetli jego zawartości. Jeżeli użytkownik chce edytować jakiś plik
(zakładamy że ma do tego uprawnienia) musi znać jego nazwę.
Uprawnienia plików
Przejdźmy teraz do kolejnej linijki czyli do:
- rw-rw-r--
Pierwszy minus oznacza że mamy do czynienia ze
zwykłym plikiem.
Analogicznie jak w przepadku folderów:
- rw-rw-r--
kolejne trzy znaki czyli ‘rw-‘ odnoszą się do
właściciela pliku
- rw-rw-r--
kolejne trzy odnoszą się do grupy do której należy
właściciel
- rw-rw-r--
trzy ostatnie to pozostali użytkownicy
i oczywiście bardzo podobnie:
uprawnienie ‘r’ to odczyt czyli read
uprawnienie ‘w’ to zapis czyli write
uprawnienie ‘x’ to wykonywanie czyli execute
Polecenie chmod
Sprawę zmiany uprawnień możemy załatwić tak:
‘chmod o+w plik.txt’
Wtedy:
u
– user
g
– group
o
– others
a
– all
jeżeli jakieś uprawnienie dodajemy to korzystamy z
‘+’ a jeżeli odbieramy do z ‘-‘
w powyższym przekładzie dodaliśmy uprawnienie do zapisu dla pozostałych użytkowników.
Ale nie czarujmy się. To jest sposób dla lamerów. I
jak chcecie być postrzegani jako informatycy to powinniście znać to:
‘chmod 776 plik.txt’
prawda że szybciej???? I że ładniej??? A za to jak
tajemniczo ;)
ok to zanim odpowiem co to polecenie zrobiło to
może o tych cyferkach.
Mając takie uprawnienia:
- rw-rw-r--
Możemy je rozpisać binarnie przyjmując zasadę, że
jeżeli uprawnienie jest to będzie jedynka logiczna ‘1’ , a jeżeli uprawnienia
nie ma to będzie zero logiczne ‘0’
Czyli tak:
(pierwszy minus pomijamy to tylko info że to plik
a nie uprawnienie)
r w – r
w – r – –
1 1 0 1
1 0 1 0 0
I po zamianie z liczb binarnych na dziesiętne
otrzymujemy coś takiego:
6 6 4
Tak więc przypomnijmy nasze poprzednie polecenie:
‘chmod 776 plik.txt’
776 da nam
nowe uprawnienia:
- rwxrwxrw-
Właściciel i grupa mają wszystkie
uprawnienia do odczytu, modyfikacji i wykonywania. Pozostali mają uprawnienia
do odczytu i modyfikacji (w praktyce to nie najlepszy pomysł)
Zmiana właściciela
chown
[użytkownik][:grupa] plik.txt …
gdzie:
użytkownik to nowy właściciela pliku,
grupa
(koniecznie poprzedzony dwukropkiem) określa grupę do której plik ma zostać
przypisany,
plik.txt
określają jeden lub więcej plików, których dotyczy zmiana.
Polecenie:
‘chown ttt:ttt folder1’ zmieni właściciela na ttt i grupę na ttt
Jednak gdybyśmy chcieli zmienić dodatkowo
wszystkie elementy w folderze „folder1”
To trzeba użyć opcji –R
‘chown -R ttt:ttt folder1’