как скопировать старую учетную запись пользователя в новую учетную запись пользователя?

4

моя старая учетная запись пользователя не работает на всех поврежденных файлах, я думаю ...

остальные 2 аккаунта работают нормально.

, поэтому я создаю новую учетную запись администратора, и мне интересно, как я могу скопировать все мои настройки, пароли, файлы из старой учетной записи администратора в новую учетную запись.

Я не могу использовать старую учетную запись администратора, которая очень сильно замерзла, поэтому поможет много, если я смогу выполнить переход с новой учетной записи администратора.

спасибо!

    
задан tinaf 18.07.2011 в 07:56
источник

2 ответа

1

В основном вы спрашиваете: «Как скопировать настройки и файлы из моей учетной записи пользователя в новую учетную запись пользователя, пропуская некоторые настройки?»

Переход на новую учетную запись пользователя

Чтобы переместить файлы с пользователя old на new , вам необходимо скопировать файлы и соответственно изменить право собственности:

sudo cp -r -d --preserve=mode,timestamps -T ~old ~new
sudo chown -R new: ~new

Это должно скопировать файлы без изменения путей.

Теперь войдите в оболочку как new . Либо переключитесь на VTY, используя Ctrl + Alt + F1 и войдите в систему как new или войдите в терминал с помощью su new . Если вы выбрали первый метод, вы можете вернуться с помощью Ctrl + Alt + F7 . С этого момента предполагается, что вы вошли в систему как new .

Если существуют символические ссылки, указывающие на их старые каталоги, найдите эти ссылки:

find ~ -lname '*/old/*' -ls

Имена файлов символических ссылок печатаются, но никаких действий не предпринималось. Чтобы создать новую символическую ссылку ~new/path/to/symlink , указав на ~old/point/to/target , перезаписав старый, запустите:

ln -sf ~old/point/to/target ~new/path/to/symlink

Могут быть файлы конфигурации, относящиеся к старым, вы можете найти эти файлы с помощью grep :

grep -HrnI 'old' ~

Если вы получаете много результатов, подумайте о том, чтобы быть более конкретным, то есть замените old на /home/old . Файлы будут перечислены в строках, соответствующих критериям поиска, но никаких действий не предпринимается.

Отладка старой учетной записи

Если вы скопируете все настройки и файлы, вам удастся удалить проблемные файлы. Для получения оптимальных результатов рекомендуется выйти из пользовательского интерфейса пользователя из сеанса GUI и войти в виртуальную консоль (переключиться на нее с помощью Ctrl + Alt + F1 ).

Если вы неожиданно выходите из системы, проверьте ~/.xsession-errors . Вы можете сделать это, выполнив:

less ~/.xsession-errors

Используйте клавиши со стрелками, Page Up / Down, Home или End для навигации, нажмите Q , чтобы выйти.

Иногда файл .gconfd/saved_state повреждается. Вы можете удалить этот файл с помощью:

rm .gconfd/saved_state

После этого вернитесь к имени входа в GUI, нажав Ctrl + Alt + F7 . Войдите, и если проблема исчезнет, ​​все готово. В противном случае выйдите из системы и вернитесь на виртуальную консоль, используя Ctrl + Alt + F1 .

Другой каталог, который может быть опустошен, равен ~/.cache :

rm -r ~/.cache/*

Вместо того, чтобы потерять все файлы и настройки, временно переместите несколько папок. Это можно сделать с помощью:

mv folder{,-orig}

Если папка не вызывала проблем, удалите вновь созданную папку и восстановите ее:

rm -r folder
mv folder{-orig,}

Некоторые папки, которые могут вызвать проблемы (некоторые могут быть несуществующими, в этом случае перейти к следующей папке):

.gnome
.gnome2
.kde
.config
.local

Как и при каждой модификации, вернитесь к входу в GUI и протестируйте его.

    
ответ дан Lekensteyn 18.07.2011 в 09:15
0

Предполагая, что вы уже создали свой newuser , и существует домашняя папка для newuser :

(1/2) Скопируйте все файлы новому пользователю:

sudo rsync -ah --progress /home/olduser/. /home/newuser

Примечания:

  • rsync - функция аналогичная, но обычно лучше, чем cp . У него больше опций и т. Д.
  • Команда -a сохраняет разрешения исходных файлов (мы будем сортировать владельцы на шаге 2)
  • Команда -h преобразует информацию о выходе в считываемый человеком формат (то есть размер файла и т. д.).
  • --progress добавляет индикатор выполнения для каждого файла
  • /. в конце местоположения olduser включает в себя скрытые файлы (это позволит вам копировать файлы bash_aliases и bashrc и не только обычные файлы. мигрирует ваши настройки.)

(2/2) Измените владельца скопированных файлов

Теперь мы меняем все владельцы файлов:

sudo chown -R --from=olduser:oldusergroup newuser:newusergroup /home/newuser

Примечания:

  • chown - функция CHAND-OWNership файлов
  • -R делает его рекурсивным. (Если вы просто меняете один файл, вам это не нужно, но мы меняем все файлы и каталоги и все в вашей новой пользовательской папке и поэтому необходимо рекурсивное).
  • --from=olduser:oldusergroup это гарантирует, что мы не будем изменять файлы (особенно релевантные для скрытых файлов), которые принадлежат «root». Их изменение может повредить. Эта опция --from сообщает chown , что мы хотим только изменить файлы и папки, которые в настоящее время принадлежат olduser .

Это сработало для меня, и, хотя я много объяснял здесь, на самом деле это всего две основные команды, поэтому процесс действительно прост, когда вы работаете над тем, как сохранить разрешения и т. д.

    
ответ дан mjp 30.03.2017 в 17:35