Linux: czym jest uprawnienie SUID?

Strona głównaLinux: czym jest uprawnienie SUID?
23.02.2021 15:03
Linux: czym jest uprawnienie SUID?
bDYJrSli

Ś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.

bDYJrSkB

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.

bDYJrSkD

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

bDYJrSkJ

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ę.

Udostępnij:
bDYJrSlz