Jak utworzyć plik, nawet użytkownik root nie może go usunąć?
Jak utworzyć plik, nawet użytkownik root nie może go usunąć?
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.
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ć ...)
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 *”.
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.