GNU/Linux >> Znalost Linux >  >> Linux

Jaký je rozdíl mezi `chattr +i FILE` a `chmod -w FILE`?

chmod -w file je k dispozici ve všech prostředích UNIX, avšak chattr -i FILE použití rozšířených atributů souborů nemusí být ve vašem systému dostupné v závislosti na typu systému souborů/distribuce!

Kromě toho se podívejte na tento odkaz pro dobré a špatné stránky používání rozšířených atributů souborů.


Od chattr manuálová stránka

Soubor s atributem 'i' nelze upravit:nelze jej smazat ani přejmenovat, nelze na tento soubor vytvořit žádný odkaz a do souboru nelze zapsat žádná data. Tento atribut může nastavit nebo vymazat pouze superuživatel nebo proces, který má schopnost CAP_LINUX_IMMUTABLE.

Jak vidíte , chattr je výkonnější než chmod . chmod -w odstraní pouze 'write ' oprávnění k obsahu souboru. A také musíte použít chattr +i pro ochranu/zamknutí souboru stiskněte chattr -i pro odemknutí


chattr +i nastaví immutable atribut souborového systému v souboru. Liší se od pravidel řízení přístupu. Pravidla řízení přístupu platí pro atributy souborů, zatímco immutable je souborový systém rozšířený soubor, který nemusí být dostupný na všech souborových systémech. Tento rozšířený atribut může nastavit nebo zrušit pouze uživatel s oprávněními root. Nikdo, ani vlastník nebo uživatel s oprávněním k zápisu, nemůže do takového souboru zapisovat. Uživatel bez oprávnění k zápisu do souboru může vytvořit pevný odkaz na běžný soubor, ale pokud je soubor označen jako neměnný, uživatel nemůže vytvořit pevný odkaz, protože souborový systém nemůže změnit počet odkazů na tento neměnný soubor.

chattr +i je užitečný pro ochranu před náhodným smazáním uživatelem root. Neměnný soubor také nelze přejmenovat nebo přesunout z jednoho adresáře do druhého.


Linux
  1. Jaký je rozdíl mezi fsync a syncfs?

  2. Jaké jsou rozdíly mezi lsof a netstat na linuxu?

  3. Jaký je rozdíl mezi ls a l?

  1. Jaký je rozdíl mezi `su -` a `su --login`?

  2. Jaký je rozdíl mezi `fallocate --dig-holes` a `fallocate --punch-hole` v Linuxu?

  3. Jaký je rozdíl mezi $(CC) a $CC?

  1. Jaký je rozdíl mezi zápisem do souboru a namapovanou pamětí?

  2. Jaký je rozdíl mezi unlink a rm?

  3. Jaké jsou funkční rozdíly mezi .profile .bash_profile a .bashrc