Dlaczego trzeba montować partycję za pomocą nosuid, gdy nie jest obecny Noexec?

10

Korzystam z Fedory Core. Mam utworzyć partycję / dane, w których użytkownicy publikują niektóre dane (wszyscy mają uprawnienia r + w). Dlatego ze względów bezpieczeństwa muszę sprawić, by nie był wykonywalny.

Rozumiem z bezpieczeństwa Linuksa, że noexeci nosuidoba muszą być włączone dla / danych podczas montowania. Rozumiem noexeci mam to włączone. Jednak nie mam nosuidwłączonego.

Jakikolwiek powód, zarówno noexeci nosuidpowinna być włączona / danych? Czy to nie noexecwystarczy - skoro użytkownicy nie będą mogli uruchamiać skryptów i innych programów i nosuidnie ma to znaczenia?

zethra
źródło
Można by pomyśleć, że [to nosuidjest zbędne], tak. Czy możesz przytoczyć referencje, które zalecają włączenie, nosuidmimo że noexeczostało już włączone?
Celada,
Właściwie widziałem to wszędzie. Nawet testy porównawcze CIS wskazują nosuid jako inną opcję sprawdzania partycji / tmp. Inne referencje są po prostu przez googling: techrepublic.com/blog/opensource/…
zethra
1
Muszę zgadywać, że są po prostu bezpieczne: więc jeśli zapomnisz ustawić noexecprzynajmniej nadal masz nosuid. Jest to jednak słaby argument, ponieważ obie flagi są skonfigurowane w tym samym miejscu, więc jeśli zapomnisz jedną, prawdopodobnie zapomnisz także drugą!
Celada,

Odpowiedzi:

2

Według strony podręcznika montowania

noexec

Nie zezwalaj na bezpośrednie wykonywanie jakichkolwiek plików binarnych w zamontowanym systemie plików. (Do niedawna można było mimo wszystko uruchamiać pliki binarne za pomocą polecenia takiego jak /lib/ld*.so / mnt / binary. Ta sztuczka kończy się niepowodzeniem od Linuksa 2.4.25 / 2.6.0.)

Wygląda więc na to, że to stara rada, kiedy noexec nie powstrzymał wszystkich binariów przed uruchomieniem, a przynajmniej nie były uruchamiane z rootem.

bułeczki
źródło
1
Gdybyś uruchomił plik wykonywalny za pomocą tej sztuczki, czy uzyskałby on uprawnienia typu set-uid?
Barmar