Jak utworzyć plik, nawet użytkownik root nie może go usunąć?
linux
permissions
files
Kumar
źródło
źródło
Odpowiedzi:
Prosta odpowiedź: nie możesz, root może zrobić wszystko.
Możesz ustawić atrybut „i” za pomocą chattr (przynajmniej jeśli korzystasz z ext {2,3,4}), co powoduje, że plik jest niezmienny, ale root może po prostu usunąć atrybut i usunąć plik.
Bardziej złożone (i brzydkie hackerskie obejście): Umieść katalog, który chcesz zmienić na root, na zdalnym serwerze i zamontuj go przez NFS lub SMB. Jeśli serwer nie oferuje uprawnień do zapisu, które blokują lokalne konto root. Oczywiście lokalne konto root może po prostu skopiować pliki lokalnie, odmontować zdalne elementy, umieścić kopię w miejscu i to zmienić.
Nie można zablokować roota przed usunięciem plików. Jeśli nie możesz zaufać swojemu rootowi, że pliki pozostaną nienaruszone, masz problem społeczny, a nie techniczny.
źródło
mv
?” (który jest kiepskim żartem opartym na teozofii chrześcijańskiej i okropnym żartem, jeśli nie znasz się na polu)Połóż to na CD-ROM! ;)
(powinien to być komentarz, ale nie mogę komentować ...)
źródło
Umieść plik w systemie plików tylko do odczytu. Może to być zdalny FS, w którym root nie jest już rootem, CD-ROM lub urządzenie wymienne, które można zabezpieczyć przed zapisem, np. Karta SD.
źródło
Dawno temu napisałem łatkę do jądra (do 2.2. Starożytnego), w której próba usunięcia pliku o nazwie SELFDESTRUCT zabiła proces wywoływania. Chroniło to przed przypadkowym „rm -rf *”.
źródło
Możesz użyć,
chattr +i
aby plik stał się niezmienny.Oczywiście, bystry użytkownik z dostępem do katalogu głównego nadal może użyć
chattr -i
atrybutu niezmiennego, a następnie usunąć plik, ale może też cofnąć wszelkie inne próby zablokowania dostępu wymienionego tutaj.Twierdziłbym, że chattr to właściwy sposób na uniksowanie tego.
źródło