linux用户迁移

 

一、介绍

跳板机需要关机做备份,而关机期间有些项目需要连接设备,故将所有账号迁移过去,保证关机期间能够正常跳转;使用/etc/passwd、/etc/group、/etc/shadow来做身份认证的,迁移用户帐号不是一件容易的任务。需要确保文件所有权保持完整,密码和所属组保持原样。在Linux上加入系统的用户的UID和GID总是从500开始计算,一直增加,除非被覆盖,这样迁移用户帐号,就是把UID>=500的用户帐号导入到系统中。为了让这个过程能工作正常,新安装的Linux系统上不要创建新的用户帐号。下面的过程包括获取用户帐号,把他们添加到恰当文件的已经存在的帐号后面。这个过程只在安装后有效,建议在添加用户帐号之前,备份要修改的文件。

二、操作

导出账号

1
awk -F: ' ($3>=500) && ($3!=65534)' /etc/passwd > passwd.txt

导出用户组

1
awk -F: ' ($3>=500) && ($3!=65534)' /etc/group > group.txt

导出密码

1
awk -F: ' ($3>=500) && ($3!=65534) {print $1}' /etc/passwd|tee -|egrep -f - /etc/shadow > shadow.txt

然后拷贝passwd.txt、group.txt、shadow.txt三个文件到新系统上,比如root目录下,以防万一,最好把新系统上的这三个文件也备份一下。

三、恢复

1
2
3
cp /etc/passwd /bakup/passwd-bakup.txt  cp /etc/group /bakup/group-bakup.txt   
 
cp /etc/shadow /bakup/shadow-bakup.txt   
 

然后把拷贝过来的三个文件与新系统进行合并

 
1
2
3
4
5
cat /root/passwd.txt >> /etc/passwd    #合并账号
 
cat /root/group.txt >> /etc/group      #合并用户组
 
cat /root/shadow.txt >> /etc/shadow    #合并密码

合并之后重启一下,然后测试没问题

 

Q&A

以上操作之后登陆没问题,不过因为没有创建家目录所以登陆之后只显示bash~,想要解决将原来的home整体打包过来覆盖就可以了,因为我本次只临时备用故没处理

还有一种方法就是提取password的用户名,然后批量创建home目录下的家目录

posted @   JH爱学习  阅读(223)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
点击右上角即可分享
微信分享提示