Linux: czym jest uprawnienie SUID? Strona główna Aktualności23.02.2021 15:03 Udostępnij: O autorze Karolina Kowasz @Snow_Rainy Ś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/suls -l /bin/pingls -l /bin/mountls -l /bin/umountls -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ę. Oprogramowanie Udostępnij: © dobreprogramy Zgłoś błąd w publikacji Zobacz także Linux 5.6 wydany: WireGuard VPN wreszcie w mainline, wstępne wsparcie USB4 30 mar 2020 Piotr Urbaniak Oprogramowanie 87 Linux Lite 5.0 "Emerald": lekka dystrybucja ukierunkowana na prywatność 2 cze 2020 Piotr Urbaniak Oprogramowanie Bezpieczeństwo 93 Linux 5.9 wydany: znaczące usprawnienia w sferze pamięci masowych 12 paź 2020 Piotr Urbaniak Oprogramowanie 152 Windows 10 i WSL2: Jądro Linux będzie aktualizowane przez Windows Update 14 mar 2020 Piotr Urbaniak Oprogramowanie 91
Udostępnij: O autorze Karolina Kowasz @Snow_Rainy Ś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/suls -l /bin/pingls -l /bin/mountls -l /bin/umountls -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ę. Oprogramowanie Udostępnij: © dobreprogramy Zgłoś błąd w publikacji