Вышеприведённый пример рекурсивного изменения прав на файлы и папки в /home/user/ не так уж и хорош, как может показаться. Мы сделали, чтобы теперь и обычные файлы могли запускаться. Это может привести к проблемам, если среди фалов были примеры программ, на которые специально были выставлены права без запуска, дабы случайно не исполнить хранимые программы. Если бы мы поставили права 600 — мы бы потеряли доступ к подпапкам и файлам, лежащим в них, ибо без права «на исполнение» (оно же — «право перехода по папке»), мы бы не смогли до них добраться.
Так что мухи — отдельно, котлеты — отдельно: зададим права сначала для одних, потом — для других. В этом нам поможет команда find.
1 2 3 4 |
find /home/user -type f -exec chmod 600 {} \; |
Немного магии Но если присмотреться, всё понятно: найти в /home/user все объекты, типа file (f) и выполнить для них chmod 600.
Или же для директорий:
1 2 3 4 |
find /home/user -type d -exec chmod 700 {} \; |
1 2 3 4 |
cp $(grep -Rl '1106@gmail.com' /var/vmail/vmail1/r52.ru/runat/*) /home/kost/mail |