Если Вы хотите создать загрузочный usb с отслеживанием в обратном порядке в Вас, может использовать Universal Установщик USB, http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/. Я использую UUI для установки дистрибутива Linux на USB. Это - портативное программное обеспечение никакая необходимая установка. UUI работают прекрасные для создания загрузочного Linux и окон. Размер программного обеспечения - всего 1 МБ.
Используя UUI Вы не должен извлекать файл ISO.
Если я вас правильно понял, вы хотите изменить владельца всех файлов внутри некоторого каталога (или корня), который принадлежат пользователю # 500, чтобы принадлежать другому пользователю, без изменения файлов, принадлежащих любому другому пользователю. Вы попали в такую ситуацию, потому что вы скопировали все дерево каталогов с другого компьютера, где файлы внутри этого дерева принадлежали множеству разных пользователей, но вас интересует только обновление тех, которые принадлежали «вашему» пользователю в момент, а не какие-либо файлы, принадлежащие пользователю № 501 или любому другому.
GNU chown
поддерживает параметр - from = 500
, который для этого можно использовать в сочетании с рекурсивным параметром -R
:
chown -R --from=500 yourusername /path/here
Это будет самый быстрый вариант, если у вас есть GNU chown
, что и должно быть в CentOS.
В качестве альтернативы можно использовать find
в любой системе:
find /path/here -user 500 -exec chown yourusername '{}' '+'
find
будет рекурсивно проверять каждый файл и каталог внутри / path / here
, сопоставляя все те, которые принадлежат пользователь # 500. Со всеми этими файлами он будет выполнять chown yourusername file1 file2 ...
столько раз, сколько потребуется. После завершения команды все файлы, принадлежащие пользователю №500, будут принадлежать yourusername
. Вам нужно будет запустить эту команду от имени root
, чтобы иметь возможность изменять владельцев файлов.
Вы можете проверить наличие отставших, выполнив ту же команду find
без команды для запуска:
find /path/here -user 500
На этом этапе не должно быть никаких файлов.
Важное предупреждение: если какой-либо из файлов, принадлежащих пользователю # 500, является символической ссылкой, chown
по умолчанию изменит владельца файла, на который указывает символическая ссылка, а не сама ссылка. Если вы не доверяете файлам, которые исследуете, это дыра в безопасности. В этом случае используйте chown -h
.
Одна из проблем с командой chown
(но на самом деле, это связано с системным вызовом chown()
) заключается в том, что в качестве меры безопасности она удаляет биты setuid и setgid в разрешениях.
Это также не распространяется на ACL.
Для работы с этим можно использовать rsync
на каталоге поверх себя в режиме update и с опцией --usermap
:
$ ls -ln
total 6732
-rwsr-xr-x 1 1002 1000 6888896 Nov 3 21:50 a
drwxr-xr-x+ 2 1002 1000 4096 Nov 3 21:46 x
$ getfacl -n x
# file: x
# owner: 1002
# group: 1000
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:1002:rwx
default:group::r-x
default:mask::rwx
default:other::r-x
$ sudo rsync -rAau --usermap=1002:1000 . .
$ ls -ln
total 6732
-rwsr-xr-x 1 1000 1000 6888896 Nov 3 21:50 a
drwxr-xr-x+ 2 1000 1000 4096 Nov 3 21:46 x
$ getfacl -n x
# file: x
# owner: 1000
# group: 1000
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:1000:rwx
default:group::r-x
default:mask::rwx
default:other::r-x
1002 изменено на 1000 как в владельцах файлов, так и в записях ACL.
Она также корректно обрабатывает сим-ссылки.