w tym rozdziale możemy omówi szczegółowo o uprawnieniach do plików i trybach dostępu w Uniksie. Własność plików jest ważnym składnikiem Uniksa, który zapewnia bezpieczną metodę przechowywania plików., Każdy plik w Uniksie ma następujące atrybuty-
-
uprawnienia właściciela − uprawnienia właściciela określają, jakie akcje właściciel pliku może wykonać na pliku.
-
uprawnienia Grupowe-uprawnienia grupy określają, jakie działania użytkownik, który jest członkiem grupy, do której należy plik, może wykonać na pliku.
-
Inne uprawnienia (świat) – uprawnienia dla innych wskazują, jakie działania mogą wykonać wszyscy inni użytkownicy na pliku.,
wskaźniki uprawnień
podczas używania polecenia ls-l wyświetla różne informacje związane z uprawnieniami do plików w następujący sposób −
$ls -l /home/amrood-rwxr-xr-- 1 amrood users 1024 Nov 2 00:10 myfiledrwxr-xr--- 1 amrood users 1024 Nov 2 00:10 mydir
tutaj pierwsza kolumna reprezentuje różne tryby dostępu, np. uprawnienia związane z plikiem lub katalogiem.
uprawnienia są podzielone na grupy trójek, a każda pozycja w grupie oznacza określone uprawnienia, w następującej kolejności: read (r), write (w), execute (x) −
tryby dostępu do plików
uprawnienia pliku są pierwszą linią obrony w zabezpieczeniach systemu Unix., Podstawowymi elementami składowymi praw Unix są prawa do odczytu, zapisu i wykonywania, które zostały opisane poniżej −
Read
daje możliwość odczytu, tzn. przeglądania zawartości pliku.
Write
daje możliwość modyfikacji lub usunięcia zawartości pliku.
Execute
użytkownik z uprawnieniami execute może uruchomić plik jako program.
tryby dostępu do katalogów
tryby dostępu do katalogów są wymienione i zorganizowane w taki sam sposób, jak każdy inny plik., Istnieje kilka różnic, o których należy wspomnieć −
Read
dostęp do katalogu oznacza, że użytkownik może odczytać jego zawartość. Użytkownik może spojrzeć na nazwy plików wewnątrz katalogu.
zapis
dostęp oznacza, że użytkownik może dodawać lub usuwać pliki z katalogu.
wykonaj
Wykonywanie katalogu nie ma sensu, więc pomyśl o tym jako o uprawnieniu trawersu.
użytkownik musi mieć execute dostęp do katalogu bin w celu wykonania polecenia ls lub cd.,
Zmiana uprawnień
aby zmienić uprawnienia do pliku lub katalogu, należy użyć polecenia chmod (zmień tryb). Istnieją dwa sposoby użycia chmod — tryb symboliczny i tryb absolutny.
używanie chmod w trybie symbolicznym
najprostszym sposobem dla początkujących do zmiany uprawnień do plików lub katalogów jest użycie trybu symbolicznego. Za pomocą symbolicznych uprawnień możesz dodawać, usuwać lub określać odpowiedni zestaw uprawnień, używając operatorów w poniższej tabeli.
Sr.No., | Operator Chmod& opis | |
---|---|---|
1 |
+ dodaje wyznaczone uprawnienia do pliku lub katalogu. |
|
2 |
usuwa wyznaczone uprawnienia z pliku lub katalogu. |
|
3 |
= Ustawia wyznaczone uprawnienia. |
oto przykład użycia pliku testowego., Uruchomienie ls -1 na pliku testowym pokazuje, że uprawnienia pliku są następujące −
$ls -l testfile-rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile
następnie każde przykładowe polecenie chmod z poprzedniej tabeli jest uruchamiane na pliku testowym, a następnie ls –l, więc możesz zobaczyć zmiany uprawnień −
Oto jak możesz połączyć te polecenia w jednej linii −
$chmod o+wx,u-x,g = rx testfile$ls -l testfile-rw-r-xrwx 1 amrood users 1024 Nov 2 00:10 testfile
div>
używanie chmod z bezwzględnymi uprawnieniami
drugim sposobem zmiany uprawnień za pomocą polecenia chmod jest użycie liczby do określenia każdego zestawu uprawnień dla pliku.,
każdemu uprawnieniu przypisana jest wartość, jak pokazuje poniższa tabela, a suma każdego zestawu uprawnień zawiera numer dla tego zestawu.
oto przykład użycia pliku testowego. Uruchomienie ls -1 na pliku testowym pokazuje, że uprawnienia pliku są następujące −
$ls -l testfile-rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile
następnie każde przykładowe polecenie chmod z poprzedniej tabeli jest uruchamiane na pliku testowym, a następnie ls-l, więc możesz zobaczyć zmiany uprawnień-
Zmiana właścicieli i grup
podczas tworzenia konta w systemie Unix, przypisuje on ID właściciela i ID grupy każdemu użytkownikowi., Wszystkie wyżej wymienione uprawnienia są również przypisywane na podstawie właściciela i grup.
dostępne są dwa polecenia do zmiany właściciela i grupy plików −
-
chown − polecenie chown oznacza „Zmień właściciela” i służy do zmiany właściciela pliku.
-
chgrp-polecenie chgrp oznacza „Zmień grupę” i służy do zmiany grupy pliku.
zmiana własności
polecenie chown zmienia własność pliku., Podstawowa składnia jest następująca −
$ chown user filelist
wartością użytkownika może być nazwa użytkownika w systemie lub identyfikator użytkownika (UID) użytkownika w systemie.
poniższy przykład pomoże Ci zrozumieć tę koncepcję −
$ chown amrood testfile$
zmienia właściciela danego pliku na użytkownika amrood.
Uwaga − super użytkownik, root, ma nieograniczoną możliwość zmiany własności dowolnego pliku, ale normalni użytkownicy mogą zmienić własność tylko tych plików, które są ich właścicielami.,
zmiana własności grupy
polecenie chgrp zmienia własność grupy pliku. Podstawowa składnia jest następująca −
$ chgrp group filelist
wartością grupy może być nazwa grupy w systemie lub identyfikator grupy (GID) grupy w systemie.
poniższy przykład pomaga zrozumieć koncepcję −
$ chgrp special testfile$
zmienia grupę podanego pliku na specjalną grupę.
uprawnienia do plików SUID i SGID
często, gdy wykonywane jest polecenie, będzie ono musiało być wykonywane ze specjalnymi uprawnieniami, aby wykonać swoje zadanie.,
na przykład, gdy zmienisz hasło za pomocą polecenia passwd, nowe hasło zostanie zapisane w pliku /etc/shadow.
jako zwykły użytkownik nie masz prawa odczytu ani zapisu do tego pliku ze względów bezpieczeństwa, ale po zmianie hasła musisz mieć uprawnienia zapisu do tego pliku. Oznacza to, że program passwd musi dać Ci dodatkowe uprawnienia, abyś mógł zapisywać do pliku/etc / shadow.
dodatkowe uprawnienia są nadawane programom za pomocą mechanizmu znanego jako bity Set User ID (SUID) i Set Group ID (SGID).,
gdy uruchamiasz program z włączonym bitem SUID, dziedziczysz uprawnienia właściciela tego programu. Programy, które nie mają ustawionego bitu SUID, są uruchamiane z uprawnieniami użytkownika, który uruchomił program.
tak jest również w przypadku SGID. Normalnie programy uruchamiają się z Twoimi uprawnieniami do grupy, ale zamiast tego twoja grupa zostanie zmieniona tylko dla tego programu na właściciela grupy programu.
bity SUID i SGID pojawią się jako litera „s”, Jeśli uprawnienie jest dostępne., Bit SUID „s”będzie umieszczony w bitach uprawnień, w których normalnie znajduje się pozwolenie właściciela Na wykonanie.
na przykład polecenie −
$ ls -l /usr/bin/passwd-r-sr-xr-x 1 root bin 19031 Feb 7 13:47 /usr/bin/passwd*$
pokazuje, że BIT SUID jest ustawiony i że polecenie należy do katalogu głównego. Wielka Litera S w pozycji execute zamiast małej litery S oznacza, że BIT execute nie jest ustawiony.,
Jeśli bit lepki jest włączony w katalogu, pliki mogą być usunięte tylko wtedy, gdy jesteś jednym z następujących użytkowników −
- właściciel katalogu lepkiego
- właściciel usuwanego pliku
- super użytkownik, root
aby ustawić bity SUID i SGID dla dowolnego katalogu, spróbuj użyć następującego polecenia −
$ chmod ug+s dirname$ ls -ldrwsr-sr-x 2 root root 4096 Jun 19 06:45 dirname$