Относительно этого вопроса , я недавно отсоединил диск от облачной машины Linux (Ubuntu). 18,04). Когда я подключил его к новой виртуальной машине (также Ubuntu 18.04), я обнаружил, что информация о пользователе и группе была потеряна, и большинство файлов теперь принадлежат «1003: 1003».
Моя цель - дать свое имя пользователя (одинаковый на обеих машинах) доступ к файлам, но я бы не хотел использовать chown
для смены владельца тысяч файлов, некоторые из которых имеют других владельцев и, возможно, не должны быть изменены. Итак, у меня есть два вопроса:
chown
: как мне изменить владельца ] только файлы, которые принадлежат «1003»? Спасибо
I finally stopped procrastinating and tried it, only to discover that 1003 did not appear anywhere in /etc/passwd or /etc/groups; somehow that user and group were lost during the disk transfer.
I solved the problem in what I think is a relatively safe way by changing only those files owned by 1003:1003 to a new owner:
This worked in Ubuntu 18.04:
chown -R --from=<old_owner>:<old_group> <new_owner>:<new_group> <directory>
...but I think some Linux distributions don't allow the --from
flag, so this should work in those cases:
find . -user <old_user> -group <old_group> -exec chown <new_user>:<new_group> {} \;
Thanks to @Stephen Boston for advice.