GNU/Linux >> Znalost Linux >  >> Linux

Skrytí dat v souborových systémech?

Chci skrýt některé soubory tak, že ani ls -a může to najít. Nemluvím o přidání ‚.‘ před název souboru.
Přemýšlel jsem, jestli bych mohl vytvořit samostatná systémová volání pro přístup k těmto souborům. Skutečná potřeba je skrýt před uživatelem některé soubory protokolu. Ukládám data MAC některých souborů a nechci, aby uživatel viděl tyto soubory protokolu. V současné době znám pouze jeden způsob, jak skrýt data, tj. přidáním „.“ před název souboru. Soubor ale může uživatel vidět jednoduchým voláním ls -a . Takže chci vědět, jestli existuje nějaký jiný způsob, jak skrýt tato data protokolu?

Přijatá odpověď:

Jak poznamenali jiní, je-li účelem toho zabránit v přístupu k trvalému souboru, je skrytí pravděpodobně špatný přístup. V tomto případě může být řešením použití vhodných opatření pro řízení přístupu nebo dokonce kryptografie, pokud to aplikace zaručuje. Na druhou stranu vytváření „skrytých“ dočasných soubory je naprosto legitimní případ použití.

V Linuxu je od verze jádra 3.11 open() systémové volání podporuje O_TMPFILE příznak, který lze použít k vytvoření nepojmenovaných dočasných souborů. Když je použit tento příznak, název cesty argument na open() se používá k určení adresáře, pod kterým se vytvoří nepojmenovaný inode. Nicméně jako hlavní případ použití pro O_TMPFILE je, jak název napovídá, vytvoření dočasného souborů, toto není vhodné pro trvalé ukládání, protože soubor bude ztracen, když se zavře poslední deskriptor souboru k souboru, pokud není soubor pojmenován. Soubor může být pojmenován pomocí linkat() systémové volání, pokud není O_EXCL příznak byl zadán navíc k O_TMPFILE , v takovém případě je zabráněno propojení souboru se systémem souborů.

Nedávno přidaný O_TMPFILE funkce je významná, protože ji lze použít k poskytnutí následujících vlastností dočasným souborům:

  1. Volná tvorba pro závody.
  2. Automatické smazání při zavření.
  3. Nedostupný přes žádnou cestu.
  4. Není vystaven útokům pomocí symbolických odkazů.
  5. Volající nemusí vymýšlet jedinečná jména.

Kromě toho lze funkcionalitu použít k vytvoření souborů, které jsou zpočátku neviditelné, přičemž v tomto okamžiku mohou být na souboru upraveny příslušné atributy souborového systému před jeho propojením se systémem souborů v jedné atomické operaci. Toho lze využít, abyste se vyhnuli určitým podmínkám závodu TOCTOU.

Související:Stáhnout data CSV z adresy URL do tabulky Google?

Nevýhodou O_TMPFILE příznakem je, že podporu pro něj poskytuje pouze podmnožina souborových systémů. Zpočátku byla podpora poskytována v souborových systémech ext2, ext3,
ext4, UDF, Minix a shmem. Podpora XFS byla přidána v Linuxu 3.15.


Linux
  1. Zkopírujte soubory v terminálu Linux

  2. Přesunout soubory v terminálu Linux

  3. Pseudo soubory pro dočasná data?

  1. Přesouvání souborů na Linuxu bez mv

  2. Jak zabránit náhodnému smazání souboru a zotavit se z něj v Linuxu

  3. Linux – Obnova dat po zkopírování souboru do blokovaného zařízení?

  1. Počítejte řádky ve velkých souborech

  2. Ukládají se soubory na disk postupně?

  3. Nelze odeslat data MySQL do souboru