Ne, hejno nikomu v ničem nebrání. Unixové zámky jsou PORADENSKÉ, což znamená, že zabraňují jiným procesům také volat flock (nebo v případě sdíleného zámku zabraňují jinému procesu pomocí exkluzivního zámku).
Nebrání rootovi ani nikomu jinému ve čtení, zápisu nebo mazání souboru.
V každém případě, i kdyby se jednalo o povinný zámek, nezabrání to smazání souboru, protože se zamyká soubor, nikoli položka adresáře.
sudo chattr +i ./file.xml
MarkR má pravdu, chatování souboru zabrání jeho smazání:
-(~)-------------------------------------------------------------------------------------------------------(08:40 Mon Mar 29)
[email protected] [2135] --> sudo chattr +i junk.txt
[sudo] password for risk:
-(~)-------------------------------------------------------------------------------------------------------(08:40 Mon Mar 29)
[email protected] [2136] --> sudo rm ./junk.txt
rm: cannot remove `./junk.txt': Operation not permitted
zsh: exit 1 sudo rm ./junk.txt
-(~)-------------------------------------------------------------------------------------------------------(08:40 Mon Mar 29)
[email protected] [2137] --> sudo rm -f ./junk.txt
rm: cannot remove `./junk.txt': Operation not permitted
zsh: exit 1 sudo rm -f ./junk.txt
-(~)-------------------------------------------------------------------------------------------------------(08:40 Mon Mar 29)
[email protected] [2138] -->
hejno není tím pravým nástrojem pro tuto práci. Pokud máte program, který odstraňuje soubory, neměli byste tento program spouštět jako root. Měli byste jej spustit jako jiný uživatel. Unix má velmi dobrou podporu pro oprávnění k souborům, ale root je boží účet. Root může dělat vše a pro root neexistují žádná oprávnění.