GNU/Linux >> Znalost Linux >  >> Linux

Je třeba opravit oprávnění k souborům v domovském adresáři uživatele

Řešení 1:

Tohle by mělo stačit:

find /home/user -type d -print0 | xargs -0 chmod 0775
find /home/user -type f -print0 | xargs -0 chmod 0664

Řešení 2:

find dokáže ten trik sám s -exec:

find /home/user -type f -exec chmod 0664 {} \;
find /home/user -type d -exec chmod 0775 {} \;

abyste zabránili tomu, aby find vytvořil chmod pro každý záznam:

find /home/user -type f -exec chmod 0664 {} +
find /home/user -type d -exec chmod 0775 {} +

(to efektivně zavolá chmod jednou se seznamem všech souborů jako parametry namísto jednoho chmod na soubor)

Řešení 3:

Tato odpověď váš problém nevyřeší, ale někomu se může hodit pro podobný problém, kdy mají soubory menší oprávnění, než by měli.

# chmod -R . u=rwX,g=rX,o=rX

Kouzlo je oprávnění X, spíše než x. Manuálová stránka chmod to popisuje takto:

vykonat/vyhledat pouze v případě, že soubor je adresář nebo již má oprávnění ke spuštění pro některého uživatele

Ve vašem případě to není vhodné, protože vaše soubory mají oprávnění ke spuštění, takže bude odpovídat druhému testu.


Linux
  1. Oprávnění pro Linux:Úvod do chmod

  2. Linux chmod and chown – Jak změnit oprávnění a vlastnictví souborů v Linuxu

  3. Oprava ::otevření souboru /home/user/etc/domainname/passwd se nezdařilo s chybou žádný takový soubor nebo adresář

  1. Jaký je účel souboru .bash_profile pod uživatelským domovským adresářem v Linuxu

  2. Jak spravovat oprávnění/vlastnictví souborů a adresářů v Linuxu

  3. Najděte soubor a poté cd do tohoto adresáře v Linuxu

  1. Ssh a oprávnění k domovskému adresáři?

  2. Cheat sheet pro oprávnění k souborům/adresáři pro Linux

  3. Jak najít domovský adresář uživatele na linuxu nebo unixu?