Шаги по восстановлению домашнего каталога? (Идентификаторы пользователей и т. Д.)

Скажите, что у меня есть home.tgz и я хочу добавить его на только что установленную коробку Ubuntu.

Что мне нужно сделать, чтобы распаковать файл? Создать пользователей? А как насчет идентификаторов пользователей? Группы? Как насчет шифрования?

6
задан 29 October 2010 в 12:17

2 ответа

В моем тесте vm я добавил bob (1001) и alice (1002). Я удалил Боба и добавил Джо (1001). Извините, я был неправ. Вам просто нужно переназначить владельца и группу домашних папок каждого пользователя каждому пользователю.

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

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

В нашей новой установке Ubuntu:

  • # 1 создайте учетную запись пользователя: sudo adduser alice
  • # 2 распакуйте резервные копии файлов в ее новый домашний каталог
  • [ 119] # 3 сделать Алису владельцем файлов: sudo chown -R alice\:alice /home/alice

Чтобы объяснить команды:

  • # 1 adduser создает каталог / home / alice для нас (среди прочего)
  • # 3 опция -R означает рекурсивное применение владения, alice \: alice - это то, как мы указываем новый owner\:group для файлов, и мы говорим chown сделать эту задачу на [ 115].

Теперь все файлы в / home / alice будут принадлежать ей, и у нее не должно быть проблем с доступом к ее файлам. Надеюсь, что это имеет больше смысла.

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

0
ответ дан 29 October 2010 в 12:17
  1. Создайте учетную запись пользователя, необязательно с тем же UID и GID, что и раньше, и с домашним каталогом в том же месте (например, /home/ sid )
  2. Установите пароль
  3. Разархивируйте файл в домашний каталог пользователя
  4. Измените владельца, если вы не использовали тот же UID и GID, как раньше
  5. Добавьте пользователя в любой другой требуемые группы

Если вы хотите упростить процесс, вам нужно сделать несколько вещей. Далее я предполагаю, что пользователь называется mark.

  1. Запишите членство пользователя в группе: cd ~mark && id mark > mark.identity
  2. Сделайте резервную копию домашнего каталога от его родителя - например, если это /home/mark, тогда вы захотите cd /home && tar jcpf mark.tar.bz2 mark
  3. На новом хосте восстановите его в / home (cd /home && tar xjpf mark.tar.bz2)
  4. Определите группу, имя пользователя и членство в группах, а затем восстановите их. Это должно быть довольно хорошо написано, что-то вроде:
#!/bin/bash
USER="${1}"
if [ ! -e "${USER}".identity ]; then
  echo "No identity file"
  exit
fi

GD=`awk '{ print $2 "${USER}".identity }' | sed -e "s/.*(//g" -e "s/).*//g"`
GLIST=`awk '{ print $NF "{USER}".identity }' | sed -e "s/[a-z]*=//g" -e "s/[0-9]*(//g" -e "s/)//g"`

for GROUP in ${GD} ${GLIST}; do
  getent group ${GROUP} >/dev/null
  STATUS=${?}
  if [ ${STATUS} -ne 0 ]; then
    groupadd ${GROUP}
  fi
done

useradd -g "${GD}" -G "${GLIST}" "${USER}"

Обратите внимание, что я только что написал здесь, я не проверял это.


Да, предполагается, что все группы существуют. Нетрудно расширить скрипт, чтобы проверить, существует ли каждая группа, и создать его, если нет. Вышеуказанные изменения должны позаботиться об этом.

Также обратите внимание, что это не позаботится о привилегиях, полученных с помощью sudo. Это также не поможет, если у вас есть местная электронная почта или что-то еще. Все, что он будет делать, это настроить пользователя на те же группы, что и раньше. Кроме того, если каталог уже существует, он перезаписывает его, поэтому требуется некоторое внимание.

0
ответ дан 29 October 2010 в 12:17

Другие вопросы по тегам:

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