Перенос пользователей сервера linux

Как переместить учетную запись пользователя с сервера Linux на другой сервер

Эта статья покажет вам, как аккуратно перенести учетные записи пользователей с одного сервера Linux (например, Redhat или CentOS) на другой сервер и все связанные файлы.

Пользователем может быть человек, учетная запись, привязанная к физическому пользователю, или учетная запись, существующая для определенного приложения. Пользователей Linux можно разделить на два типа: один — системный пользователь, а другой — обычный пользователь или пользователь приложения. Значение идентификатора по умолчанию для системных пользователей — от 0 до 499, а значение идентификатора обычных пользователей — от 500 до 60 000.

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

• /etc/passwd содержит информацию о пользователях. • /etc/passwd содержит информацию о группе. • /etc/shadow содержит зашифрованный пароль пользователя. • /var/spool/mail содержит почту пользователя, которая хранится в этом файле. • /home/user содержит домашний каталог пользователя, поэтому он может содержать пользовательские данные.

При перемещении пользователей с одного сервера на другой вышеуказанные файлы очень важны, поэтому нам необходимо сделать резервную копию вышеуказанных файлов.

#mkdir accountbackup # Экспорт UGIDLIMIT = 500 # awk -v LIMIT = $UGIDLIMIT-F: ‘($3> = LIMIT) && ($3! = 65534)’ /etc/passwd>/root/accountbackup

Приведенная выше команда скопирует учетную запись, отфильтрованную файлом /etc/passwd, в /etc/accountbackup/passwd.olds.

Аналогично копируем выбранную группу в файл /etc/group:

#Awk -v LIMIT = $UGIDLIMIT -F: ‘($3> = LIMIT) && ($3! = 65534)’ /etc/group> /etc/accountbackup/group.olds

Теперь скопируйте файл тени:

#Awk -v LIMIT = $UGIDLIMIT -F: ‘($3> = LIMIT) && ($3! = 65534) ‘ /etc/passwd | тройник- | egrep -f- /etc/shadow> /root/accountbackup/shadow.old

Теперь создайте резервную копию домашнего каталога пользователя и почты пользователя:

#Tar -zcvpf /root/accountbackup/home.tar.gz/home

Теперь сделайте резервную копию почты пользователя:

#Tar -zcvpf /root/move/mail.tar.gz /var/spool/mail

Теперь вы получили файлы, связанные с учетной записью пользователя. Скопируйте все данные на флешку или новый сервер с помощью команды scp. Прежде чем приступить к миграции на новый сервер, обязательно сделайте резервную копию всех пользовательских файлов на новом сервере.

Восстановите данные на новый сервер.

## cat passwd.old >> / etc / passwd ## cat group.old >> / etc / group ## cat shadow.old >> / etc / shadow ## / bin / cp gshadow.old / etc / gshadow

Аналогичным образом восстановите данные пользователя и почту пользователя на новый сервер.

#Tar -zxvf /path/to/location/home.tar.gz#tar -zxvf /path/to/location/mail.tar.gz

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

Читайте также:  Команды linux найти файл

Похожие сообщения

1689171765_Install-MongoDB-6.0-on-Ubuntu-22.04.png

Как установить сервер MongoDB 6.0 на Ubuntu 22.04

MongoDB — это популярная система управления базами данных NoSQL с открытым исходным кодом, известная своей гибкостью, масштабируемостью и простотой использования. В дополнение к…

Xfce-Terminal.jpg

Эмулятор терминала Xfce

Xfce Terminal — это бесплатное приложение-эмулятор терминала с открытым исходным кодом для Linux и, в первую очередь, для среды рабочего стола Xfce.…

1689041991_Jrnl-app.jpg

Jrnl Приложение журнала командной строки

Jrnl — это бесплатное приложение журнала командной строки с открытым исходным кодом для Linux, Windows и MacOS. Это написано на…

Tmux-Terminal-Multiplexer.jpg

Терминальный мультиплексор Tmux

Tmux — это бесплатный мультиплексор терминалов с открытым исходным кодом для Linux, OpenBSD, FreeBSD, NetBSD, macOS и Solaris. Используя tmux, вы…

ExifTool-file-meta-data.jpg

Как читать метаданные файла записи и редактирования с помощью ExifTool

ExifTool — это бесплатный инструмент командной строки с открытым исходным кодом для работы с метаданными и независимая от платформы библиотека Perl для Linux, Windows и…

ChatGPT-shell-cli-app.jpg

Как использовать ChatGPT и DALL-E из командной строки с помощью ChatGPT-shell-cli

ChatGPT-shell-cli — это бесплатный сценарий оболочки с открытым исходным кодом для использования ChatGPT и DALL-E из приложения командной строки терминала.…

Tre-Command-line-app.jpg

Как перечислить структуру каталогов в древовидной диаграмме с помощью команды Tre

Tre — это бесплатная альтернатива команде дерева с открытым исходным кодом для Linux, Windows и MacOS. Используя Тре, вы…

Как использовать FTP для управления файлами вашего сайта в Windows

Протокол передачи файлов (FTP) — это сетевой протокол, обеспечивающий крупномасштабную передачу файлов по IP-сетям. Веб-сайт HTTP…

Примите участие в неделе тестирования Fedora Linux для ядра 6.4

Команда ядра работает над окончательной интеграцией ядра Linux 6.4. Эта версия была выпущена совсем недавно и…

save-linux-command-output-to-file.png

Перенаправить вывод команды Linux в файл

Бывают случаи, когда вы хотите перенаправить вывод определенного вывода в файл, чтобы вы могли изучить…

Источник

Миграция пользовательских аккаунтов на новую систему

Вам нужно скопировать все эти файлы со старой системы на новую.

Команды, выполняемые на старой системе:

Сначала нужно создать архив со всеми необходимыми файлами. Создаём каталог:

Теперь копируем /etc/passwd в /root/move/passwd.mig используя awk чтобы выбрать только пользовательские аккаунты.

# awk -v LIMIT=$UGIDLIMIT -F: '($3>=LIMIT) && ($3!=65534)' /etc/passwd > /root/move/passwd.mig
# awk -v LIMIT=$UGIDLIMIT -F: '($3>=LIMIT) && ($3!=65534)' /etc/group > /root/move/group.mig

# awk -v LIMIT=$UGIDLIMIT -F: ‘($3>=LIMIT) && ($3!=65534) ‘ /etc/passwd | tee — |egrep -f — /etc/shadow > /root/move/shadow.mig

Копируем /etc/gshadow (редко используется):

# cp /etc/gshadow /root/move/gshadow.mig

Создаём архивы папок /home и /var/spool/mail:

# tar -zcvpf /root/move/home.tar.gz /home 
# tar -zcvpf /root/move/mail.tar.gz /var/spool/mail
  • В Linux пользователи добавляемые в систему получают UID и GID из диапазонов, установленных дистрибутивом или администратором. Эти пределы в разных дистрибутивах различаются:
    • RHEL/CentOS/Fedora Core: минимальное значение 500. максимальное — 65534. (/etc/libuser.conf).
    • Debian and Ubuntu Linux: минимальное значение 100, максимальное — 29999. (/etc/adduser.conf).

    Используйте scp или какой-либо другой способ для копирования /root/move на новую систему Linux:

    # scp -r /root/move/* user@new.linuxserver.com:/path/to/location

    Команды, выполняемые на новой системе:

    Сначала создайте резервную копию всех учётных записей и паролей:

    # mkdir /root/newsusers.bak 
    # cp /etc/passwd /etc/shadow /etc/group /etc/gshadow /root/newsusers.bak

    Теперь восстановите учётные записи со старой системы:

    # cd /path/to/location 
    # cat passwd.mig >> /etc/passwd
    # cat group.mig >> /etc/group
    # cat shadow.mig >> /etc/shadow
    # /bin/cp gshadow.mig /etc/gshadow

    Помните что нужно использовать >> (добавление) а не > (создани) при переносе учётных записей.

    Теперь можно распаковать архив с домашними каталогами:

    # cd / # tar -zxvf /path/to/location/home.tar.gz

    Пардпоследний шаг: распаковка архива с почтой:

    # cd / # tar -zxvf /path/to/location/mail.tar.gz

    Теперь перезагрузитесь. Сразу после перезагрузки ваши учётные записи будут работать так же, как работали на старой системе:

    Если вы переносите учётные записи между разными *nix-системами — некоторые команды изменятся. Но основная идея останется такой же.

    Источник

    Перенос пользователей с одной машины Linux на другую

    У вас когда-нибудь была необходимость перенести текущих пользователей Linux с установки на другую? Это было бы простой задачей, если бы количество пользователей было небольшим. Но что происходит, когда количество пользователей исчисляется сотнями? Что вы делаете тогда? Если вы не используете LDAP, вы знаете, что вам придется перенести данные пользователей, пароли и т. Д. Со старого компьютера на новый. Вы не поверите, но это всего лишь вопрос нескольких команд — не обязательно простых, но это не так сложно, как вы думаете.

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

    Что мы переносим

    • / etc / passwd — Содержит информацию о пользователе.
    • / etc / shadow — Содержит зашифрованные пароли.
    • / и т.д. / группа — Содержит информацию о группе.
    • / etc / gshadow — Содержит зашифрованные пароли группы.
    • / var / spool / mail — Содержит электронную почту пользователей (расположение будет зависеть от почтового сервера, который вы используете).
    • /дом/ — Содержит данные пользователей.

    К сожалению, эти файлы нельзя просто скопировать с одной машины на другую — это было бы слишком просто. Просто убедитесь, что вы правильно ввели следующие команды.

    Исходная машина

    Это команды, которые вам нужно будет запустить на машине, с которой вы переносите пользователей. Я предполагаю, что вы делаете это в системе, которая использует пользователя root (например, Fedora), поэтому все команды будут выполняться как root:

    Вышеупомянутая команда создает каталог для всех перемещаемых файлов.

    Приведенная выше команда устанавливает предел фильтра UID равным 500. ПРИМЕЧАНИЕ. Это значение будет зависеть от вашего дистрибутива. Если вы используете Red Hat Enterprise Linux, CentOS или Fedora, это значение показано в приведенной выше команде. Если вы используете Debian или Ubuntu, этот предел составляет 1000 (не 500).

    awk -v LIMIT = $ UGIDLIMIT -F: ‘($ 3> = LIMIT) && ($ 3! = 65534)’ / etc / passwd> ~ / MOVE / passwd.mig

    Приведенная выше команда копирует только учетные записи пользователей из/ etc / passwd (с помощью awk позволяет игнорировать системные учетные записи.)

    awk -v LIMIT = $ UGIDLIMIT -F: ‘($ 3> = LIMIT) && ($ 3! = 65534)’ / etc / group> ~ / MOVE / group.miграмм

    Приведенная выше команда копирует / etc / group файл.

    awk -v LIMIT = $ UGIDLIMIT -F: ‘($ 3> = LIMIT) && ($ 3! = 65534) ’ / etc / passwd | тройник — | egrep -f — / etc / shadow> ~ / MOVE / shadow.mig

    Приведенная выше команда копирует / etc / shadow файл.

    cp / etc / gshadow ~ / MOVE / gshadow.mig

    Приведенная выше команда копирует / etc / gshadow файл.

    tar -zcvpf ~ / ПЕРЕМЕСТИТЬ / home.tar.gz / home

    Вышеупомянутые архивы команд /дом.

    tar -zcvpf ~ / MOVE / mail.tar.gz / var / spool / mail

    Приведенная выше команда архивирует почтовый каталог. ПРИМЕЧАНИЕ. Если вы используете Sendmail, это правильный каталог. Если вы используете Postfix, этот каталог, скорее всего, будет / etc / postfix .

    Теперь пришло время переместить все в ~ / ПЕРЕМЕСТИТЬ на новый сервер. Вы можете сделать это с помощью scp команда так:

    scp -r ~ / ПЕРЕМЕЩЕНИЕ / * [электронная почта защищена]_OF_NEW_SERVER: / home / USER /

    Где USER — это имя пользователя, которое вы будете использовать для отправки файла, а IP_OF_NEW_SERVER — это адрес нового сервера. ПРИМЕЧАНИЕ. Если этот сервер еще не подключен к сети, вы всегда можете скопировать эти файлы на флэш-накопитель и переместить их таким образом.

    Целевая машина

    Сейчас мы работаем над новым сервером. Следуйте этим командам (запускайте от имени пользователя root):

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

    cp / etc / passwd / etc / shadow / etc / group / etc / gshadow ~ / newsusers.bak

    Вышеупомянутая команда скопирует необходимые файлы в новый каталог резервной копии.

    cd / ПУТЬ / К / КАТАЛОГ
    кошка passwd.mig >> / etc / passwd
    cat group.mig >> / etc / group
    кошка shadow.mig >> / etc / shadow
    / bin / cp gshadow.mig / etc / gshadow

    Приведенные выше команды восстановят все файлы паролей в новой системе. ПРИМЕЧАНИЕ. Где / PATH / TO / DIRECTORY — это место, куда вы скопировали файлы в новую систему.

    CD /
    tar -zxvf / ПУТЬ / В / КАТАЛОГ /home.tar.gz

    Приведенные выше команды сначала изменят вас на / каталог, а затем распаковать заархивированный /дом каталог. ПРИМЕЧАНИЕ: Где / ПУТЬ / В / КАТАЛОГ это место, куда вы скопировали файлы в новую систему.

    CD /
    tar -zxvf / ПУТЬ / В / КАТАЛОГ /mail.tar.gz

    Приведенные выше команды сначала изменят вас на/ каталог, а затем распаковать заархивированный/ var / spool / mail каталог. ПРИМЕЧАНИЕ. Где / ПУТЬ / К / КАТАЛОГ — это место, куда вы скопировали файлы в новую систему.

    Теперь вы можете перезагрузить вашу систему с пользователями на месте.

    Смотрите так же:

    Источник

Оцените статью
Adblock
detector