Как сохранить доступ к файлам после переустановки ОС Linux?

Цитирование руководства:

after they are expanded and before they are executed

Вы утверждаете:

But I found that the traces it prints out are not exactly the results after expansion but before execution

Но они есть. Результатом раскрытия является список слов . Bash использует кавычки для однозначного представления списка слов. То, что печатает bash, не является промежуточным результатом расширения, когда удаление кавычек не выполнялось. Это печатное представление списка строк.

Например, если трассировка была

+ cp foo bar qux

, тогда невозможно было бы узнать, была ли команда cpс тремя аргументами foo, barи quxили с двумя аргументами foo barи qux(, например. потому что исходная команда былаcp "foo bar" qux)или с двумя аргументами fooи bar qux, или если на самом деле это была команда с именем cp foo bar quxи т. д. Чтобы сделать трассировку однозначной, bash использует кавычки. Кавычки выбраны таким образом, чтобы трассировка была одним из возможных способов запуска этой команды в bash-скрипте.

Например, трассировка + echo '$var'означает, что команда echoвыполняется с одним аргументом, строкой из 4 -символов $var. Есть много способов запустить эту команду, например:

echo '$var'
echo \$var
echo \$\v\a\r
echo "\$v"\a''''r
echo "$a"               # after running a='$var'
1
29.11.2019, 17:27
2 ответа

Либо создайте пользователя aliceс uidиз 1001, либо измените владельца файлов с 1001на 1002.

Создать пользователя с определеннымuid:

useradd alice -u 1001

findвсе файлы, принадлежащие 1001и chmodих наalice(это также изменит gidна aliceосновную группу):

find /data -uid 1001 -print0 | xargs -0I{} chown alice: {}
2
27.01.2020, 23:22

Пара вариантов. Если у вас нет пользователя в новой системе с uid=1001, измените uid Алисы на этот через usermod -u 1001 -g 1001 alice. Другой вариант — изменить владельца файлов на /dataс помощью sudo find /data -uid 1001 -print0 | xargs -0 chown alice:alice.

1
27.01.2020, 23:22

Теги

Похожие вопросы