迁移服务器用户记录

迁移用户过程

1. 打包旧服务器用户数据:参考链接 https://blog.csdn.net/weixin_33858336/article/details/92097475

2. 迁移数据 https://zhuanlan.zhihu.com/p/569684954

3.解压用户数据到新服务器 参考链接 https://blog.csdn.net/weixin_33858336/article/details/92097475

4.非常重要!!!

由于linux目前创建用户id从1000开始,而新服务器一般就会创建一个用户,因此会导致一个问题,存在用户id重复,即id:1000 (如果新服务器创建多个用户则会有多个重复)需要解决该问题

这里有两个解决办法,1.使用指令修改用户id 2.到文件中修改用户id

这里选择第二个办法,因为指令修改用户id需要关闭用户下的进程,而关闭进程导致使用该账户连接的ssh断开

https://cloud.tencent.com/developer/article/2294928

这里简单记录一下ecei服务器修改过程

首先修改/etc/passwd下的jtextece:x:1000:1000,第一个是1000是用户id,第二个1000是用户组id,均修改成未使用的id,这里改为jtextece:x:1007:1007

再修改/etc/group下的 jtextece:x:1000:jtextece 将用户组id修改为1007,同上用户组id需要一样

再在/etc/group下找到第一行root:x:0:ecei 改为 root:x:0:ecei,jtextece 将jtextece加上root权限

5.到这里修改完成,但不能确认没有问题,需要后续观察

需要注意的点:

1.有的服务器系统账号在前500 有的在前1000 因此awk $3>=多少需要注意分辨一下 建议直接>=1000

2.先备份新服务器的passwd等文件再进行迁移,错了还能回退

3.迁移cat passwd等 时需要登陆root,ssh su root有时密码正确但认证失败 解决方法:https://blog.csdn.net/Dontla/article/details/120407110

4.以下部分是移动源文件夹下的所有文件夹到目标文件夹的代码,便于mv 用户数据

#!/bin/bash

# 源文件夹路径

source_dir="/path/to/source_directory"

# 目标文件夹路径

target_dir="/path/to/target_directory"

# 确保目标文件夹存在,如果不存在则创建

mkdir -p "$target_dir"

# 移动源文件夹下的所有文件夹到目标文件夹

for dir in "$source_dir"/*/; do

if [ -d "$dir" ]; then

mv "$dir" "$target_dir"

echo "已移动文件夹: $dir 到 $target_dir"

fi

done

echo "所有文件夹移动完成。"