Поскольку вы хотите передать файлы RFS2 пользователю RFS2, вам не нужен RFS1 для chown, поэтому самый простой способ - ch root (1) .
Вы устанавливаете RFS2, например, на /mnt/rfs2
. Затем вы вставляете root в цель /mnt/rfs2
в соответствии с инструкциями здесь .
chroot
создает новый процесс, который заключен в тюрьму в /mnt/rfs2
. Когда этот процесс обращается к /
, ОС переводит его как /mnt/rfs2
. Если процесс обращается к /hello/world
, ОС переведет его как /mnt/rfs2/hello/world
.
Если у RFS2 есть собственные пользователи, тогда у него есть свои /etc/passwd
, и справедливо предположить, что у него есть свои /bin/
, /usr/lib/
et c.
После chroot убедитесь, что ваш PATH
соответствует тому месту, где на самом деле находятся двоичные файлы.
Внутри ch root jail, каждая выполняемая вами команда, например chown
, будет найдена в PATH
. Вероятно, он будет найден в /bin/chown
, но теперь это RFS2 /bin/chown
(а именно /mnt/rfs2/bin/chown
), а не RFS1. Каждая библиотека динамического c, которую может использовать chown, также будет поступать из файловой системы RFS2.
Когда вы chown user:group
, chown
будет искать пользователя и группу в /etc/passwd
и /etc/group
, но это пароль RFS2 и файл группы.
Как только вы закончите, вы запустите exit
, и заключенный в тюрьму процесс оболочки, созданный для вас chroot
, завершится. Пока все это происходило, остальные процессы на компьютере все еще использовали RFS1.