Świeżo upieczeni administratorzy Linuxa często mają problem z uprawnieniami plików. SUID, SGID oraz tak zwane “Sticky Bits” to specjalne uprawnienia, które można ustawić dla plików wykonywalnych i katalogów w systemie Linux. Porozmawiajmy o pierwszym z nim, czyli SUID.
Podstawy SUID
SUID jest specjalnym uprawnieniem dotyczącym skryptów lub aplikacji. Jeśli bit SUID jest ustawiony, po uruchomieniu polecenia efektywny UID staje się identyfikatorem właściciela pliku, a nie użytkownika, który go uruchamia. Oznacza to, że SUID zapewnia tymczasowe podwyższenie uprawnień podczas wykonywania. Przykładowo, jeśli wykonywany plik był własnością roota i ma ustawiony bit SUID, to bez względu na to, kto uruchamia skrypt lub aplikację, uprawnienia będą tymczasowo równe uprawnieniom roota.
Mówiąc prostszym językiem, ustawienie bitu SUID dla plików sprawia, że proces będzie miał prawa użytkownika który jest właścicielem pliku wykonywalnego, chociaż przed jego ustawieniem miał uprawnienia użytkownika uruchamiającego plik.
Żeby dokładnie zrozumieć o co chodzi, powołajmy się na przykład. Założmy, że użytkownik chce zmienić swoje hasło i wydaje polecenie passwd. Gdyby bit SUID nie był ustawiony na passwd, polecenie zostałoby uruchomione bez podwyższonych uprawnień i nie byłoby w stanie zapisać do plików niezbędnych do zmiany hasła.
Jeśli utworzysz skrypt (należący do roota), który wymaga ustawienia bitu SUID, możesz to zrobić w następujący sposób:
sudo chmod u+s nazwapliku
Inne komendy korzystające z SUID
Oto kilka poleceń systemu Linux, które używają bitu SUID, aby nadać poleceniu podwyższone uprawnienia, gdy jest uruchamiane przez użytkownika nie będącego rootem:
ls -l /bin/su
ls -l /bin/ping
ls -l /bin/mount
ls -l /bin/umount
ls -l /usr/bin/passwd
Jeżeli ustawimy bit SUID mamy pewność, że za każdym razem aplikacja będzie wykonywana z tymczasowo podwyższonymi uprawnieniami. Należy jednak bardzo uważać ustawiając ten bit, żeby przypadkiem nie nadać uprawnień roota przypadkowo. W przypadku ustawienia tego bitu na katalogu, nie będzie on brany pod uwagę.
Zgłoś naruszenie/Błąd
Oryginalne źródło ZOBACZ
Dodaj kanał RSS
Musisz być zalogowanym aby zaproponować nowy kanal RSS