Właśnie zauważyłem na moim komputerze Ubuntu (system plików ext3), że usunięcie uprawnień do zapisu z pliku nie powstrzymuje roota przed zapisaniem do niego.
Czy to ogólna zasada uprawnień do plików UNIX? A może specyficzny dla Ubuntu? Czy błędna konfiguracja na moim komputerze?
# touch abc # chmod ugo-w abc # python Python 2.6.4 (r264: 75706, 7 grudnia 2009, 18:45:15) [GCC 4.4.1] na linux2 Aby uzyskać więcej informacji, wpisz „pomoc”, „prawa autorskie”, „kredyty” lub „licencja”. >>> otwórz („abc”, „w”). napisz („AAA \ n”) >>> # cat abc AAA
Zapis do pliku nie powiedzie się (zgodnie z oczekiwaniami), jeśli zrobię to z mojego zwykłego konta użytkownika.
Czy to jest normalne zachowanie?
Czy istnieje sposób, aby zapobiec przypadkowemu zapisaniu pliku root do pliku? (Najlepiej przy użyciu normalnych mechanizmów systemu plików, a nie AppArmor itp.)
Naucz mnie czegoś o czymś, czego zdecydowanie nie rozumiem.
UWAGA: Rozumiem, że root ma całkowitą kontrolę nad systemem i może np. Zmieniać uprawnienia do dowolnego pliku. Moje pytanie brzmi, czy obecnie ustawione uprawnienia są wymuszane na kodzie działającym jako root . Pomysł polega na tym, że użytkownik root zapobiega przypadkowemu zapisaniu do pliku.
UWAGA: Rozumiem również, że nie należy się logować jako root do normalnych operacji. Właśnie zauważyłem to zachowanie i pytam o to.
źródło
chattr
. czy istnieje sposób ustawiania takich atrybutów w trybie użytkownika?root
tak dobrze chronić plik, nawet on nie może go usunąć”!CAP_DAC_OVERRIDE
zdolność pozwalającą mu ignorować listy ACL i uprawnienia.sudo chflags <s|u>chg <file>
uczynienie go niezmiennym odpowiednio dla systemu lub użytkownika, orazsudo chflags no<s|u>chg <file>
rozbrojenie niezmiennej flagi odpowiednio dla systemu lub użytkownika.Tak, to normalne. Korzeń jest bogiem.
Tak, istnieją sposoby, aby zapobiec zastępowaniu plików przez root.
chattr
(+i
zestawów,-i
rozbrojenia). Wymaga dostępu do roota, działa tylko na ext2 / ext3 (prawdopodobnie też ext4), ale poza tym jest praktyczny.sudo
do uzyskiwania dostępu do funkcji systemu.Te metody są logicznie zgodne z numerem 1. Jak widać, dwie ostatnie metody są na ogół nieprzydatne, podobnie jak ochrona systemu Windows przed wirusami przez odłączenie sieci nie jest ogólnie przydatna. Właśnie dlatego root jest niebezpieczny. [+]
[*] Oczywiście pomijając możliwość „przypadkowego” zapisu bezpośrednio na urządzeniu blokowym. Tak, root może to zrobić. Tak, możesz temu zapobiec: odłącz urządzenie.
[+] Stąd też pochodzą te mity BOfH. Nie wszystkie są mitami.
źródło
Możesz także ograniczyć dostęp do pliku dla użytkownika root, używając jądra Linuxa „Możliwości”: http://www.securityfocus.com/infocus/1400
Istnieje również możliwość użycia SE-Linux lub innej łaty do jądra, aby niektóre pliki były niezmienne nawet do rootowania.
źródło
Myślę, że dopóki root jest superużytkownikiem, a on może zrobić wszystko, nie możesz mu usunąć żadnego pozwolenia, także jeśli jesteś rootem. Powinna to być wola roota, aby uniemożliwić sobie wykonanie lub nie wykonanie operacji (takiej jak zapis do pliku lub otwarcie aplikacji).
Więc nie, możliwe, że dezaktywujesz tylko konto root, aby zapobiec złemu korzystaniu z niego.
pozdrowienia
[uwaga dla siebie: będziecie pokorni ... może się mylicie]
źródło