Назад | Перейти на главную страницу

Как безопасно изменить владельца: группа рекурсивно?

Я копирую домашний каталог одного пользователя в домашний каталог пользователя №2, и поэтому мне нужно передать содержимое новому пользователю. Бег:

find /home/user2 -user user1 -exec chown user2 '{}' \;
find /home/user2 -group user1 -exec chgrp user2 '{}' \;

работает нормально, но (из-за файлов ./ .. я полагаю) каким-то образом рут / был переключен на user2. Тем не мение, /home остался владельцем root: root.

Как я могу быть уверен, что находка подойдет? Как я могу ограничить его перемещение вверх по дереву (к корню), даже остановив его до того, как он изменит сам рабочий каталог?

Когда я делаю find /home/$user он не поднимается по дереву ... Вы можете не включать аргументы find команда, чтобы увидеть, что будет подставлено в фигурные скобки.

Если дом - это собственная файловая система, и, вероятно, так и должно быть, вы можете использовать -xdev чтобы не пересекать другие файловые системы. Также, -H говорит find не переходить по символическим ссылкам.

Тем не менее, почему бы и нет chown -R user2:user2 /home/user2?