![Windows ユーザーを Linux サーバーに移行する](https://rvso.com/image/756777/Windows%20%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%92%20Linux%20%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AB%E7%A7%BB%E8%A1%8C%E3%81%99%E3%82%8B.png)
約 1000 人のユーザーがいる Windows サーバーを Linux サーバー (Ubuntu) に移行する必要があります。手動で移行するのではなく、Windows アカウントを移行するために使用できる移行ツールはありますか? Ubuntu には移行ツールがあると読みましたが、これについてはあまり詳しくないようです。
答え1
sssd と kerberos を使用して Linux ホストを AD ドメインに参加させることができるはずです。
正しく設定されると、ネーム サービス プラグイン (/etc/nsswitch.conf 内の sssd) が作成され、nss が AD に対してユーザーの詳細 (/etc/passwd の内容など) を照会できるようになります。
次に、「getent passwd」を使用して、AD ユーザーを /etc/passwd 形式で一覧表示できます。この出力をファイルに送信し、そのファイルを使用してローカル Linux ホスト上に実際の /etc/passwd を構築します。この同じデータから、最初はハッシュがロックされた (「!!」) /etc/shadow エントリを作成できます。
いくつかの注意事項...
- AD のユーザーには UNIX 属性が定義されている必要があります。AD は、ユーザー プロパティ パネル (高度な機能の表示 = オン) の属性エディタ タブでこれをネイティブにサポートします。gidNumber、name、uid、uidNumber、unixHomeDirectory などを指定する必要があります。これにより、より完全な /etc/passwd スタイルの出力が可能になります。
uidNumber や gidNumber などを設定するときは、これらが何であるべきかをよく検討し、それに応じて Linux 側を準備しておく必要があります。どのユーザーに対しても uidNumber を重複させないでください。
Windows Server のバージョンによっては、ユーザーのハッシュ パスワードを照会できる場合とできない場合があります。MS は Server 2012 でこの機能を削除したと思いますが、そのときの記憶はあいまいです。そのため、ユーザーを Linux にインポートしたら、新しいパスワードを設定する必要があるかもしれません。
運が良ければ、「getent group」を使用して Windows からグループ データを取得できるかもしれませんが、使用できない可能性があります。何が得られるかを確認するだけでも試してみる価値はあるかもしれません。
どうか、どうか、どうか... Linux の /etc/passwd または /etc/group ファイルでは大文字を使用しないでください。ユーザーの本名 (GECOS フィールド) 以外は、これらのファイルには大文字を使用しないでください。 Linux は気にしませんが、これは完全にベスト プラクティスから外れており、「アマチュア!」と叫んでいるようなものです。
これらすべてが完了したら、sssd/kerberos 構成を削除できます。
少し複雑ですが、1000 人のユーザーを手動で再作成するよりも速いでしょう。