GNU/Linux >> Znalost Linux >  >> Linux

Proč nemohu tento soubor smazat jako root?

Od uživatele root zkontrolujte atributy souborů

# lsattr 

pokud si všimnete i (neměnné) nebo a (pouze append), odeberte tyto atributy:

# man chattr
# chattr -i [filename]
# chattr -a [filename]

Nejčastější důvod rm stěžovat si, že nemáte oprávnění k odstranění souboru, je to, že oprávnění v adresáři vám zakazují soubor smazat. Chcete-li smazat soubor, potřebujete oprávnění k zápisu do adresáře. Oprávnění k souboru jsou irelevantní (rm bez -f vyzve k potvrzení před odstraněním souboru pouze pro čtení, ale to je pouze potvrzení, nikoli omezení). Na některých variantách Unixu, jako je OSX (ale ne Linux), může ACL na souboru zabránit jeho vymazání; ls -l zobrazí @ na konci pole oprávnění, pokud byl v souboru záznam ACL.

Přístup jako root obchází oprávnění, takže root může mazat soubory i v adresáři pouze pro čtení.

Výstup z ls -l ukazuje . na konci sloupce povolení. To znamená, že soubor má kontext zabezpečení SELinux. Na rozdíl od základních oprávnění a ACL může kontext zabezpečení SELinux u souboru řídit, kdo smí soubor odstranit. Navíc SELinux nemůže být vždy obejit rootem (je možné mít proces spuštěný jako ID uživatele 0, ale s tak malým počtem práv, jak zvolil návrhář politik SELinuxu). Chcete-li vidět, co vám kontext SELinux umožňuje, spusťte ls -lZ . exam_a .

Další věcí, která může zabránit smazání souboru, je, pokud má soubor nebo adresář, který jej obsahuje, atribut Linux pouze pro připojení nebo neměnný. Spusťte lsattr -d . exam_a pro zobrazení atributů Linuxu. Pokud a nebo i je zapnutý, budete jej muset odstranit (chattr -a -i . exam_a ) za účelem smazání souboru; to umí jen root. Root nemůže tyto atributy obejít, aby smazal soubor, atributy musí být nejprve vypnuty.

Ještě další věc, která brání smazání souboru, je, pokud je souborový systém připojen pouze pro čtení, ale v takovém případě byste dostali jinou chybovou zprávu.


Linux
  1. Jak odstranit soubor root Mails (Mailbox) v Linuxu

  2. Nelze smazat soubor, i když běží jako root?

  3. Only Root Can Mount, proč?

  1. Jak mohu smazat nový řádek, pokud je to poslední znak v souboru?

  2. Kde je hlavičkový soubor <conio.h> v systému Linux? Proč nemohu najít <conio.h>?

  3. Jak smazat soubor s tímto názvem na linuxu:-]???????q

  1. Proč Vim přidává nový řádek? Je to konvence?

  2. Proč v systému Linux nemohu vytvářet soubory větší než 2 GB?

  3. Jak může správce souborů připojit disk bez root?