Windows 사용자를 Linux 서버로 마이그레이션

Windows 사용자를 Linux 서버로 마이그레이션

대략 1000명의 사용자가 있는 Windows 서버를 Linux 서버(Ubuntu)로 마이그레이션해야 합니다. 수동이 아닌 Windows 계정을 이전하는 데 사용할 수 있는 마이그레이션 도구가 있습니까? Ubuntu에 마이그레이션 도구가 있다는 것을 읽었지만 이에 대한 자세한 내용은 없는 것 같습니다.

답변1

sssd 및 kerberos를 사용하여 Linux 호스트를 AD 도메인에 가입할 수 있어야 합니다.

올바르게 구성되면 nss가 AD에 사용자 세부 정보(예: /etc/passwd 내용)를 쿼리할 수 있게 해주는 이름 서비스 플러그인(/etc/nsswitch.conf의 sssd)이 생성됩니다.

그런 다음 "getent passwd"를 사용하여 AD 사용자를 /etc/passwd 형식으로 나열할 수 있습니다. 이 출력을 파일로 보낸 다음 해당 파일을 사용하여 로컬 Linux 호스트에 실제 /etc/passwd를 빌드하기만 하면 됩니다. 처음에 잠긴 해시("!!")를 사용하여 동일한 데이터에서 /etc/shadow 항목을 생성할 수 있습니다.

몇 가지 주의사항...

  1. AD의 사용자는 UNIX 속성을 정의해야 합니다. AD는 사용자 속성 패널(고급 기능 보기=설정), 속성 편집기 탭에서 이를 기본적으로 지원합니다. gidNumber, name, uid, uidNumber 및 unixHomeDirectory와 같은 항목을 지정해야 합니다. 이렇게 하면 보다 완전한 /etc/passwd 스타일 출력이 가능해집니다.

uidNumber 및 gidNumber와 같은 항목을 설정할 때 이러한 항목이 무엇인지 생각하고 이에 따라 Linux 측을 준비했는지 확인하십시오. 모든 사용자에 대해 uidNumber를 중복하지 마십시오.

  1. Windows Server 버전에 따라 사용자의 해시된 암호를 쿼리할 수도 있고 그렇지 않을 수도 있습니다. MS가 Server 2012에서 이 기능을 제거한 것 같지만 기억이 가물가물합니다. 따라서 사용자를 Linux로 가져온 후에는 새 비밀번호를 설정해야 할 수도 있습니다.

  2. 운이 좋다면 "getent group"을 사용하여 Windows에서 일부 그룹 데이터를 가져올 수도 있지만 사용하지 못할 수도 있습니다. 당신이 얻는 것을 확인하기 위해 시도해 볼 가치가 있습니다.

제발, 제발, 제발... Linux /etc/passwd 또는 /etc/group 파일에 대문자를 사용하지 마십시오. 사용자의 실제 이름(GECOS 필드) 외에 이러한 파일에는 대문자가 없어야 합니다. Linux는 신경 쓰지 않지만 모범 사례에서 완전히 벗어나 "아마추어!"라고 외칩니다.

이 모든 작업이 완료되면 SSD/kerberos 구성을 제거할 수 있습니다.

약간 복잡하지만 수동으로 1000명의 사용자를 수동으로 다시 만드는 것보다 더 빠를 것입니다.

관련 정보