我有一个运行着 1000 个用户的邮件服务器。我想将该服务器迁移到 Centos 7 服务器。
场景 1(旧服务器):用户账户 UID 以 501 开头
场景 2(新 Centos 7 服务器):用户帐户以 1001 开头,在 /etc/login.defs 中定义
因此我无法将用户帐户迁移到我的新服务器。因为 UID 不匹配的问题。
我如何将以前的服务器用户迁移到 UID 以 1001 开头的新 Centos 7 服务器?
答案1
如果存在外部目录,则将其用于用户。对于现代 Linux 上的 LDAP 或 Active Directory,sssd 是一种常见的选择。
当您仍想使用文件时,请将整个文件从旧服务器复制到新服务器:/etc/passwd /etc/shadow /etc/group
。警告:
- 你可以把自己锁在外面的访问权限。
- 您必须使用旧的凭证。
- 在 Linux 或 UNIX 发行版系列之间移动时,这将不起作用,它们各自对 UID 和 GID 都有自己的假设。
或者,您仍然可以指定用户和组 ID,甚至低于默认的“系统用户”阈值。如果您关心每个人的 ID,请务必考虑这样做。
[root@sf ~]# groupadd textgroup --gid 501
[root@sf ~]# useradd person --gid 501 --uid 501
[root@sf ~]# id person
uid=501(person) gid=501(textgroup) groups=501(textgroup)
[root@sf ~]# grep PRETTY /etc/os-release
PRETTY_NAME="CentOS Linux 7 (Core)"