Uprawnienia specjalne w systemie Linux to zaawansowane uprawnienia, które można ustawić na plikach lub katalogach i które zapewniają dodatkowe możliwości lub ograniczenia.
Pozwalają na bardziej precyzyjne zarządzanie uprawnieniami i bezpieczeństwem systemu niż zwykłe prawa dostępu (odczyt, zapis, wykonywanie). Ponadto specjalne prawa dostępu w systemie Linux zapewniają specjalne możliwości lub ograniczenia dla użytkownika, grupy lub plików. Obejmują one następujące prawa dostępu:
Prawo wykonywania (execute
): uruchamianie plików wykonywalnych lub używanie poleceń do wykonywania określonych czynności.Odczyt
: przeglądanie zawartości pliku lub katalogu.Zapis
: modyfikacja zawartości pliku lub tworzenie, modyfikowanie lub usuwanie plików w katalogu.W systemie Linux istnieją różne prawa dostępu do plików i katalogów, które określają, jakie działania mogą być dozwolone lub zabronione dla określonego użytkownika lub grupy użytkowników. Poniżej przedstawiono główne specjalne prawa dostępu do plików w systemie Linux:
"setuid
"(suid
): gdy uprawnienie"setuid
" jest ustawione na pliku wykonywalnym, proces działa z uprawnieniami właściciela pliku, a nie użytkownika, który go uruchamia. Zapewnia to tymczasowy reset uprawnień dla niektórych zadań."setgid
"(sgid
): gdy uprawnienie"setgid
" jest ustawione na pliku wykonywalnym, proces jest uruchamiany z uprawnieniami grupy właściciela pliku, a nie grupy użytkownika, który go uruchamia. Pozwala to na współdzielenie plików i zasobów między członkami tej samej grupy."lepki bit": ustawienie "lepkiego bitu
" na katalogu pozwala tylko właścicielowi pliku na usuwanie lub przenoszenie plików w katalogu, nawet jeśli inni użytkownicy mają uprawnienia do zapisu do katalogu. Jest to przydatne do ogólnego korzystania z katalogu takiego jak /tmp, aby uniemożliwić innym użytkownikom usuwanie lub modyfikowanie plików.Zazwyczaj te specjalne uprawnienia są określane wraz ze standardowymi uprawnieniami (rwx) i są oznaczone wartościami symbolicznymi lub numerycznymi. Na przykład, setuid
jest oznaczony przez"s
" zamiast"x
" dla właściciela pliku wykonywalnego.
Jeśli chcesz ustawić lub zmienić specjalne uprawnienia do plików w systemie Linux, możesz użyć polecenia chmod z odpowiednimi argumentami. Na przykład, abyustawić "setuid
" na pliku wykonywalnym, można użyć polecenia"chmod u+s nazwa_pliku
".
Specjalne prawa dostępu (SUID, SGID i Sticky bit) można ustawić na plikach lub katalogach za pomocą polecenia chmod
w systemie Linux.
Aby ustawić SUID:
chmod +s file_name
Aby ustawić SGID na katalogu:
chmod +s directory_name
Aby zainstalować Sticky bit na katalogu:
chmod +t derectory_name
Uwaga: Zaleca się ograniczenie instalowania SUID na plikach, ponieważ może to stanowić potencjalne zagrożenie dla bezpieczeństwa systemu. Używaj specjalnych praw dostępu z rozwagą i tylko w sytuacjach, w których jest to dobrze uzasadnione i nie tworzy luk w zabezpieczeniach.
Możesz użyć polecenia `ls-l`
, aby wyświetlić specjalne prawa dostępu, które zostały ustawione. Uprawnienia, w tym uprawnienia specjalne, będą wyświetlane jako wartości alfabetyczne lub numeryczne po uprawnieniach do pliku lub katalogu.