Предположим, что у меня есть home.tgz и вы хотите удалить это в недавно установленном поле ubuntu.
Что мне нужно сделать до того, как я разблокирую файл? Создать пользователей? Как насчет идентификаторов пользователей? Группы? Как насчет шифрования?
Если вы хотите упростить процесс, вам нужно сделать пару вещей , В следующем случае я предполагаю, что пользователь называется mark.
Создайте учетную запись пользователя, опционально с тем же UID и GID, что и раньше, и с домашним каталогом в том же месте (например, /home/ sid) Резервное копирование дома каталог из его родителя - например, если это /home/mark, тогда вы захотите cd /home && tar jcpf mark.tar.bz2 mark Установить пароль Определить членство в группе, имени пользователя и группе, а затем восстановить их. Это должно быть довольно доступным для сценариев, что-то неопределенно: #!/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. Это также не поможет, если у вас есть местная электронная почта или что-то еще. Все, что он сделает, - установить пользователя с теми же группами, что и раньше. Кроме того, если каталог уже существует, он перезаписывает его, поэтому требуется некоторое внимание.
В моем тесте vm я добавил bob (1001) и alice (1002). Я удалил bob и добавил joe (1001). Извините, что я ошибся. Вам просто нужно переназначить владельца и группу домашних владельцев каждого пользователя.
Это может показаться утомительным, но это просто подробное объяснение трех шагов.
Вам нужно привилегии суперпользователя для выполнения этих задач обслуживания, поэтому мы префикс каждой команды с помощью sudo, которая дает нам эти привилегии.
В нашей новой установке Ubuntu:
# 1 создать пользователя account: sudo adduser alice # 2 разблокировать резервные копии файлов в ее новом домашнем каталоге # 3 сделать alice владельцем файлов: sudo chown -R alice\:alice /home/aliceОбъяснить команды:
# 1 создать учетную запись пользователя: sudo adduser alice # 3 опция -R означает рекурсивно использовать право собственности, alice \: alice - это то, как мы указываем новый файл owner\:group для файлов, и мы говорим chown to выполните эту задачу на /home/alice.Теперь все файлы в разделе / home / alice будут принадлежать ей, и у нее не должно быть проблем с доступом к ее файлам. Надеюсь, что это имеет смысл.
Создайте новую учетную запись пользователя с тем же именем, тогда она будет иметь тот же UID, что и старая учетная запись пользователя. Я помню, как я читал об этом в списке рассылки, но я не могу найти источник, где я его читал.
Если вы хотите упростить процесс, вам нужно сделать пару вещей , В следующем случае я предполагаю, что пользователь называется mark.
Создайте учетную запись пользователя, опционально с тем же UID и GID, что и раньше, и с домашним каталогом в том же месте (например, /home/ sid) Резервное копирование дома каталог из его родителя - например, если это /home/mark, тогда вы захотите cd /home && tar jcpf mark.tar.bz2 mark Установить пароль Определить членство в группе, имени пользователя и группе, а затем восстановить их. Это должно быть довольно доступным для сценариев, что-то неопределенно: #!/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. Это также не поможет, если у вас есть местная электронная почта или что-то еще. Все, что он сделает, - установить пользователя с теми же группами, что и раньше. Кроме того, если каталог уже существует, он перезаписывает его, поэтому требуется некоторое внимание.
В моем тесте vm я добавил bob (1001) и alice (1002). Я удалил bob и добавил joe (1001). Извините, что я ошибся. Вам просто нужно переназначить владельца и группу домашних владельцев каждого пользователя.
Это может показаться утомительным, но это просто подробное объяснение трех шагов.
Вам нужно привилегии суперпользователя для выполнения этих задач обслуживания, поэтому мы префикс каждой команды с помощью sudo, которая дает нам эти привилегии.
В нашей новой установке Ubuntu:
# 1 создать пользователя account: sudo adduser alice # 2 разблокировать резервные копии файлов в ее новом домашнем каталоге # 3 сделать alice владельцем файлов: sudo chown -R alice\:alice /home/aliceОбъяснить команды:
# 1 создать учетную запись пользователя: sudo adduser alice # 3 опция -R означает рекурсивно использовать право собственности, alice \: alice - это то, как мы указываем новый файл owner\:group для файлов, и мы говорим chown to выполните эту задачу на /home/alice.Теперь все файлы в разделе / home / alice будут принадлежать ей, и у нее не должно быть проблем с доступом к ее файлам. Надеюсь, что это имеет смысл.
Создайте новую учетную запись пользователя с тем же именем, тогда она будет иметь тот же UID, что и старая учетная запись пользователя. Я помню, как я читал об этом в списке рассылки, но я не могу найти источник, где я его читал.
Если вы хотите упростить процесс, вам нужно сделать пару вещей , В следующем случае я предполагаю, что пользователь называется mark.
Создайте учетную запись пользователя, опционально с тем же UID и GID, что и раньше, и с домашним каталогом в том же месте (например, /home/ sid) Резервное копирование дома каталог из его родителя - например, если это /home/mark, тогда вы захотите cd /home && tar jcpf mark.tar.bz2 mark Установить пароль Определить членство в группе, имени пользователя и группе, а затем восстановить их. Это должно быть довольно доступным для сценариев, что-то неопределенно: #!/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. Это также не поможет, если у вас есть местная электронная почта или что-то еще. Все, что он сделает, - установить пользователя с теми же группами, что и раньше. Кроме того, если каталог уже существует, он перезаписывает его, поэтому требуется некоторое внимание.
В моем тесте vm я добавил bob (1001) и alice (1002). Я удалил bob и добавил joe (1001). Извините, что я ошибся. Вам просто нужно переназначить владельца и группу домашних владельцев каждого пользователя.
Это может показаться утомительным, но это просто подробное объяснение трех шагов.
Вам нужно привилегии суперпользователя для выполнения этих задач обслуживания, поэтому мы префикс каждой команды с помощью sudo, которая дает нам эти привилегии.
В нашей новой установке Ubuntu:
# 1 создать пользователя account: sudo adduser alice # 2 разблокировать резервные копии файлов в ее новом домашнем каталоге # 3 сделать alice владельцем файлов: sudo chown -R alice\:alice /home/aliceОбъяснить команды:
# 1 создать учетную запись пользователя: sudo adduser alice # 3 опция -R означает рекурсивно использовать право собственности, alice \: alice - это то, как мы указываем новый файл owner\:group для файлов, и мы говорим chown to выполните эту задачу на /home/alice.Теперь все файлы в разделе / home / alice будут принадлежать ей, и у нее не должно быть проблем с доступом к ее файлам. Надеюсь, что это имеет смысл.
Создайте новую учетную запись пользователя с тем же именем, тогда она будет иметь тот же UID, что и старая учетная запись пользователя. Я помню, как я читал об этом в списке рассылки, но я не могу найти источник, где я его читал.
Если вы хотите упростить процесс, вам нужно сделать пару вещей , В следующем случае я предполагаю, что пользователь называется mark.
Создайте учетную запись пользователя, опционально с тем же UID и GID, что и раньше, и с домашним каталогом в том же месте (например, /home/ sid) Резервное копирование дома каталог из его родителя - например, если это /home/mark, тогда вы захотите cd /home && tar jcpf mark.tar.bz2 mark Установить пароль Определить членство в группе, имени пользователя и группе, а затем восстановить их. Это должно быть довольно доступным для сценариев, что-то неопределенно: #!/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. Это также не поможет, если у вас есть местная электронная почта или что-то еще. Все, что он сделает, - установить пользователя с теми же группами, что и раньше. Кроме того, если каталог уже существует, он перезаписывает его, поэтому требуется некоторое внимание.
В моем тесте vm я добавил bob (1001) и alice (1002). Я удалил bob и добавил joe (1001). Извините, что я ошибся. Вам просто нужно переназначить владельца и группу домашних владельцев каждого пользователя.
Это может показаться утомительным, но это просто подробное объяснение трех шагов.
Вам нужно привилегии суперпользователя для выполнения этих задач обслуживания, поэтому мы префикс каждой команды с помощью sudo, которая дает нам эти привилегии.
В нашей новой установке Ubuntu:
# 1 создать пользователя account: sudo adduser alice # 2 разблокировать резервные копии файлов в ее новом домашнем каталоге # 3 сделать alice владельцем файлов: sudo chown -R alice\:alice /home/aliceОбъяснить команды:
# 1 создать учетную запись пользователя: sudo adduser alice # 3 опция -R означает рекурсивно использовать право собственности, alice \: alice - это то, как мы указываем новый файл owner\:group для файлов, и мы говорим chown to выполните эту задачу на /home/alice.Теперь все файлы в разделе / home / alice будут принадлежать ей, и у нее не должно быть проблем с доступом к ее файлам. Надеюсь, что это имеет смысл.
Создайте новую учетную запись пользователя с тем же именем, тогда она будет иметь тот же UID, что и старая учетная запись пользователя. Я помню, как я читал об этом в списке рассылки, но я не могу найти источник, где я его читал.
В моем тесте vm я добавил bob (1001) и alice (1002). Я удалил bob и добавил joe (1001). Извините, что я ошибся. Вам просто нужно переназначить владельца и группу домашних владельцев каждого пользователя.
Это может показаться утомительным, но это всего лишь подробное объяснение трех шагов.
Для выполнения этих задач обслуживания вам нужны привилегии суперпользователя, поэтому мы префикс каждой команды с помощью sudo
, которая дает нам эти привилегии.
На нашей новой установке Ubuntu:
sudo adduser alice
sudo chown -R alice \: alice / home / alice
Чтобы объяснить команды:
-R
означает, что рекурсивно используется свойство собственности, alice \: alice - это то, как мы указываем новый файл \: group
для файлов, и мы рекомендуем chown выполнить эту задачу на / home / alice
. Теперь все файлы в / home / alice будут до нее, и у нее не должно быть проблем с доступом к ее файлам. Надеюсь, что это имеет смысл.
Создайте новую учетную запись пользователя с тем же именем, тогда она будет иметь тот же UID, что и старая учетная запись пользователя. Я помню, как я читал об этом в списке рассылки, но я не могу найти источник, где я его читал.
/ home /
sid
) Если вы хотите упростить процесс, вам нужно сделать пару вещей , В следующем случае я предполагаю, что пользователь называется mark
.
cd ~ mark & amp; & amp; & amp; & amp; id mark & gt; mark.identity
/ home / mark
, тогда вы захотите cd / home & amp; & amp; & amp; tar jcpf mark.tar.bz2 mark
cd / home & amp; & tar xjpf mark.tar.bz2
) #! / Bin / bash USER = "$ {1}", если [! -e "$ {USER}". identity]; затем echo «Нет файла идентификатора» exit fi GD = `awk '{print $ 2" $ {USER} ". identity}' | sed -e "s /.*(// g" -e "s /).*// g" `GLIST =` awk '{print $ NF "{USER}". identity}' | sed -e "s / [az] * = // g" -e "s / [0-9] * (// g" -e "s /) // g" `для GROUP в $ {GD} $ {GList}; do getent group $ {GROUP}> / dev / null STATUS = $ {?}, если [$ {STATUS} -ne 0]; затем groupadd $ {GROUP} fi done useradd -g "$ {GD}" -G "$ {GLIST}" "$ {USER}"
Обратите внимание, что я только что написал это здесь,
Да, предполагается, что все группы существуют. Было бы нелегко расширить скрипт, чтобы проверить, существует ли каждая группа и создать ее, если нет. Вышеуказанные изменения должны позаботиться об этом.
Заметим также, что это не позаботится о привилегиях, полученных через sudo. Это также не поможет, если у вас есть местная электронная почта или что-то еще. Все, что он сделает, - установить пользователя с теми же группами, что и раньше. Кроме того, если каталог уже существует, он перезаписывает его, поэтому требуется некоторое внимание.
В моем тесте vm я добавил bob (1001) и alice (1002). Я удалил bob и добавил joe (1001). Извините, что я ошибся. Вам просто нужно переназначить владельца и группу домашних владельцев каждого пользователя.
Это может показаться утомительным, но это всего лишь подробное объяснение трех шагов.
Для выполнения этих задач обслуживания вам нужны привилегии суперпользователя, поэтому мы префикс каждой команды с помощью sudo
, которая дает нам эти привилегии.
На нашей новой установке Ubuntu:
sudo adduser alice
sudo chown -R alice \: alice / home / alice
Чтобы объяснить команды:
-R
означает, что рекурсивно используется свойство собственности, alice \: alice - это то, как мы указываем новый файл \: group
для файлов, и мы рекомендуем chown выполнить эту задачу на / home / alice
. Теперь все файлы в / home / alice будут до нее, и у нее не должно быть проблем с доступом к ее файлам. Надеюсь, что это имеет смысл.
Создайте новую учетную запись пользователя с тем же именем, тогда она будет иметь тот же UID, что и старая учетная запись пользователя. Я помню, как я читал об этом в списке рассылки, но я не могу найти источник, где я его читал.
/ home /
sid
) Если вы хотите упростить процесс, вам нужно сделать пару вещей , В следующем случае я предполагаю, что пользователь называется mark
.
cd ~ mark & amp; & amp; & amp; & amp; id mark & gt; mark.identity
/ home / mark
, тогда вы захотите cd / home & amp; & amp; & amp; tar jcpf mark.tar.bz2 mark
cd / home & amp; & tar xjpf mark.tar.bz2
) #! / Bin / bash USER = "$ {1}", если [! -e "$ {USER}". identity]; затем echo «Нет файла идентификатора» exit fi GD = `awk '{print $ 2" $ {USER} ". identity}' | sed -e "s /.*(// g" -e "s /).*// g" `GLIST =` awk '{print $ NF "{USER}". identity}' | sed -e "s / [az] * = // g" -e "s / [0-9] * (// g" -e "s /) // g" `для GROUP в $ {GD} $ {GList}; do getent group $ {GROUP}> / dev / null STATUS = $ {?}, если [$ {STATUS} -ne 0]; затем groupadd $ {GROUP} fi done useradd -g "$ {GD}" -G "$ {GLIST}" "$ {USER}"
Обратите внимание, что я только что написал это здесь,
Да, предполагается, что все группы существуют. Было бы нелегко расширить скрипт, чтобы проверить, существует ли каждая группа и создать ее, если нет. Вышеуказанные изменения должны позаботиться об этом.
Заметим также, что это не позаботится о привилегиях, полученных через sudo. Это также не поможет, если у вас есть местная электронная почта или что-то еще. Все, что он сделает, - установить пользователя с теми же группами, что и раньше. Кроме того, если каталог уже существует, он перезаписывает его, поэтому требуется некоторое внимание.
В моем тесте vm я добавил bob (1001) и alice (1002). Я удалил bob и добавил joe (1001). Извините, что я ошибся. Вам просто нужно переназначить владельца и группу домашних владельцев каждого пользователя.
Это может показаться утомительным, но это всего лишь подробное объяснение трех шагов.
Для выполнения этих задач обслуживания вам нужны привилегии суперпользователя, поэтому мы префикс каждой команды с помощью sudo
, которая дает нам эти привилегии.
На нашей новой установке Ubuntu:
sudo adduser alice
sudo chown -R alice \: alice / home / alice
Чтобы объяснить команды:
-R
означает, что рекурсивно используется свойство собственности, alice \: alice - это то, как мы указываем новый файл \: group
для файлов, и мы рекомендуем chown выполнить эту задачу на / home / alice
. Теперь все файлы в / home / alice будут до нее, и у нее не должно быть проблем с доступом к ее файлам. Надеюсь, что это имеет смысл.
Создайте новую учетную запись пользователя с тем же именем, тогда она будет иметь тот же UID, что и старая учетная запись пользователя. Я помню, как я читал об этом в списке рассылки, но я не могу найти источник, где я его читал.
/ home /
sid
) Если вы хотите упростить процесс, вам нужно сделать пару вещей , В следующем случае я предполагаю, что пользователь называется mark
.
cd ~ mark & amp; & amp; & amp; & amp; id mark & gt; mark.identity
/ home / mark
, тогда вы захотите cd / home & amp; & amp; & amp; tar jcpf mark.tar.bz2 mark
cd / home & amp; & tar xjpf mark.tar.bz2
) #! / Bin / bash USER = "$ {1}", если [! -e "$ {USER}". identity]; затем echo «Нет файла идентификатора» exit fi GD = `awk '{print $ 2" $ {USER} ". identity}' | sed -e "s /.*(// g" -e "s /).*// g" `GLIST =` awk '{print $ NF "{USER}". identity}' | sed -e "s / [az] * = // g" -e "s / [0-9] * (// g" -e "s /) // g" `для GROUP в $ {GD} $ {GList}; do getent group $ {GROUP}> / dev / null STATUS = $ {?}, если [$ {STATUS} -ne 0]; затем groupadd $ {GROUP} fi done useradd -g "$ {GD}" -G "$ {GLIST}" "$ {USER}"
Обратите внимание, что я только что написал это здесь,
Да, предполагается, что все группы существуют. Было бы нелегко расширить скрипт, чтобы проверить, существует ли каждая группа и создать ее, если нет. Вышеуказанные изменения должны позаботиться об этом.
Заметим также, что это не позаботится о привилегиях, полученных через sudo. Это также не поможет, если у вас есть местная электронная почта или что-то еще. Все, что он сделает, - установить пользователя с теми же группами, что и раньше. Кроме того, если каталог уже существует, он перезаписывает его, поэтому требуется некоторое внимание.
В моем тесте vm я добавил bob (1001) и alice (1002). Я удалил bob и добавил joe (1001). Извините, что я ошибся. Вам просто нужно переназначить владельца и группу домашних владельцев каждого пользователя.
Это может показаться утомительным, но это всего лишь подробное объяснение трех шагов.
Для выполнения этих задач обслуживания вам нужны привилегии суперпользователя, поэтому мы префикс каждой команды с помощью sudo
, которая дает нам эти привилегии.
На нашей новой установке Ubuntu:
sudo adduser alice
sudo chown -R alice \: alice / home / alice
Чтобы объяснить команды:
-R
означает, что рекурсивно используется свойство собственности, alice \: alice - это то, как мы указываем новый файл \: group
для файлов, и мы рекомендуем chown выполнить эту задачу на / home / alice
. Теперь все файлы в / home / alice будут до нее, и у нее не должно быть проблем с доступом к ее файлам. Надеюсь, что это имеет смысл.
Создайте новую учетную запись пользователя с тем же именем, тогда она будет иметь тот же UID, что и старая учетная запись пользователя. Я помню, как я читал об этом в списке рассылки, но я не могу найти источник, где я его читал.
/ home /
sid
) Если вы хотите упростить процесс, вам нужно сделать пару вещей , В следующем случае я предполагаю, что пользователь называется mark
.
cd ~ mark & amp; & amp; & amp; & amp; id mark & gt; mark.identity
/ home / mark
, тогда вы захотите cd / home & amp; & amp; & amp; tar jcpf mark.tar.bz2 mark
cd / home & amp; & tar xjpf mark.tar.bz2
) #! / Bin / bash USER = "$ {1}", если [! -e "$ {USER}". identity]; затем echo «Нет файла идентификатора» exit fi GD = `awk '{print $ 2" $ {USER} ". identity}' | sed -e "s /.*(// g" -e "s /).*// g" `GLIST =` awk '{print $ NF "{USER}". identity}' | sed -e "s / [az] * = // g" -e "s / [0-9] * (// g" -e "s /) // g" `для GROUP в $ {GD} $ {GList}; do getent group $ {GROUP}> / dev / null STATUS = $ {?}, если [$ {STATUS} -ne 0]; затем groupadd $ {GROUP} fi done useradd -g "$ {GD}" -G "$ {GLIST}" "$ {USER}"
Обратите внимание, что я только что написал это здесь,
Да, предполагается, что все группы существуют. Было бы нелегко расширить скрипт, чтобы проверить, существует ли каждая группа и создать ее, если нет. Вышеуказанные изменения должны позаботиться об этом.
Заметим также, что это не позаботится о привилегиях, полученных через sudo. Это также не поможет, если у вас есть местная электронная почта или что-то еще. Все, что он сделает, - установить пользователя с теми же группами, что и раньше. Кроме того, если каталог уже существует, он перезаписывает его, поэтому требуется некоторое внимание.
В моем тесте vm я добавил bob (1001) и alice (1002). Я удалил bob и добавил joe (1001). Извините, что я ошибся. Вам просто нужно переназначить владельца и группу домашних владельцев каждого пользователя.
Это может показаться утомительным, но это всего лишь подробное объяснение трех шагов.
Для выполнения этих задач обслуживания вам нужны привилегии суперпользователя, поэтому мы префикс каждой команды с помощью sudo
, которая дает нам эти привилегии.
На нашей новой установке Ubuntu:
sudo adduser alice
sudo chown -R alice \: alice / home / alice
Чтобы объяснить команды:
-R
означает, что рекурсивно используется свойство собственности, alice \: alice - это то, как мы указываем новый файл \: group
для файлов, и мы рекомендуем chown выполнить эту задачу на / home / alice
. Теперь все файлы в / home / alice будут до нее, и у нее не должно быть проблем с доступом к ее файлам. Надеюсь, что это имеет смысл.
Создайте новую учетную запись пользователя с тем же именем, тогда она будет иметь тот же UID, что и старая учетная запись пользователя. Я помню, как я читал об этом в списке рассылки, но я не могу найти источник, где я его читал.
chown username: / / home / userhome
, чтобы установить владельца на имя пользователя, иначе пользователь не сможет читать и писать свои собственные файлы.
– invert
2 November 2010 в 17:08
/ home /
sid
) Если вы хотите упростить процесс, вам нужно сделать пару вещей , В следующем случае я предполагаю, что пользователь называется mark
.
cd ~ mark & amp; & amp; & amp; & amp; id mark & gt; mark.identity
/ home / mark
, тогда вы захотите cd / home & amp; & amp; & amp; tar jcpf mark.tar.bz2 mark
cd / home & amp; & tar xjpf mark.tar.bz2
) #! / Bin / bash USER = "$ {1}", если [! -e "$ {USER}". identity]; затем echo «Нет файла идентификатора» exit fi GD = `awk '{print $ 2" $ {USER} ". identity}' | sed -e "s /.*(// g" -e "s /).*// g" `GLIST =` awk '{print $ NF "{USER}". identity}' | sed -e "s / [az] * = // g" -e "s / [0-9] * (// g" -e "s /) // g" `для GROUP в $ {GD} $ {GList}; do getent group $ {GROUP}> / dev / null STATUS = $ {?}, если [$ {STATUS} -ne 0]; затем groupadd $ {GROUP} fi done useradd -g "$ {GD}" -G "$ {GLIST}" "$ {USER}"
Обратите внимание, что я только что написал это здесь,
Да, предполагается, что все группы существуют. Было бы нелегко расширить скрипт, чтобы проверить, существует ли каждая группа и создать ее, если нет. Вышеуказанные изменения должны позаботиться об этом.
Заметим также, что это не позаботится о привилегиях, полученных через sudo. Это также не поможет, если у вас есть местная электронная почта или что-то еще. Все, что он сделает, - установить пользователя с теми же группами, что и раньше. Кроме того, если каталог уже существует, он перезаписывает его, поэтому требуется некоторое внимание.