Ř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.
Znovu přečíst tabulku oddílů bez restartu?
Jaký je v Linuxu rychlejší způsob než `find` nebo `diff -r`, jak zjistit, zda se něco v adresáři změnilo?