05.10.2008

Пакетное изменение разрешений файлов и каталогов

Частенько возникает необходимость изменения разрешений большого количества файлов и каталогов в пакетном режиме.

Можно, конечно, сделать и так:

chmod -R 755 /mydir

Просто. Но неправильно в большинстве случаев, так как в этой командой меняются разрешения как файлов, так и каталогов. И, наверняка, вам не понравится, когда, вдруг, вы не сможете попасть в каталог, потому что выставили на него неверные разрешения, например, так chmod -R 444 /mydir...

Чтобы изменить разрешения файлов независимо от разрешений каталогов и наоборот я делаю следующее:

* выставляем разрешения на файлы:

find /mydir -type f -exec chmod 644 {} \;

* выставляем разрешения на каталоги:

find /mydir -type d -exec chmod 755 {} \;

Такой подход позволяет Вам поменять разрешения на файлы независимо от разрешений каталогов, но, имейте ввиду, что разделение в данном случае только на каталоги и файлы. Если Вам понадобится одной группе файлов выставить одни разрешения, а другой группе - другие, боюсь, это подход здесь не применим. Но, как бы там ни было, меня эти команды очень часто выручают.