迁移用户过程
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 "所有文件夹移动完成。"