技术知识库

帮助中心 >  产品文档 >  云服务器 >  Linux用户账号密码迁移方法

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

awk -F: ' ($3>=500) && ($3!=65534)' /etc/passwd > passwd.txt#导出账号

awk -F: ' ($3>=500) && ($3!=65534)' /etc/group > group.txt#导出用户组

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

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

cp /etc/passwd /bakup/passwd-bakup.txt   #备份账号

cp /etc/group /bakup/group-bakup.txt     #备份用户组

cp /etc/shadow /bakup/shadow-bakup.txt   #备份密码

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

cat /root/passwd.txt >> /etc/passwd    #合并账号

cat /root/group.txt >> /etc/group      #合并用户组

cat /root/shadow.txt >> /etc/shadow    #合并密码

合并完成以后重启一下系统,测试了一下FTP账号,都能正常登录。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: