Я копирую домашний каталог одного пользователя в домашний каталог пользователя №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
?