データ移行に伴う所有ユーザ、グループの移行

近頃コンテンツ移行の案件を担当することが多く、その中で所有ユーザ、グループ移行を
簡単に行う方法を発見したので共有したいと思います。

コンテンツを移行すると移行したファイルの
所有ユーザ、グループも移動先のサーバであわせる必要があると思います。

移行前、移行先でユーザのUIDやGIDが重複している場合は
対象のデータを移動してその後、所有ユーザ、グループの作成
移行前の権限にあわせるよう、chownコマンドで調整していましたが
以下の方法をとることで簡単に移行できることが分かりました。

▼結論
事前に移行前のユーザ、グループを移行先のサーバに作成しておくことで
UID、GIDが異なっていてもくユーザ名、グループ名が優先して適応される

▼検証内容
サーバA → サーバBへデータ移行
移行先サーバにファイルの所有ユーザ、グループが存在している状態と
存在していない状態でデータ移行を実施

▼作業内容

検証1 ユーザが重複して移行先に移行元のユーザが存在しない場合

アカウント作成

・サーバAにてユーザを作成
ID:A_3000
UID:3000
GID:3000

・サーバBにてユーザを作成
ID:B_3000
UID:3000
GID:3000

データ移行

・サーバA
#移行対象ファイルを準備

サーバA → サーバBへデータ移行

サーバBにて移行後のファイル確認

UID,GIDベースで移行が行われる。
サーバAではUID,GID3000はA_3000だったが
サーバBではUID,GID3000はB_3000なので
所有ユーザ、グループはB_3000になってしまう

しかし、事前にUID、GIDが異なっていても移行元の
ユーザを作成しておくことで所有ユーザは合わせることができる

検証2:UID,GIDは異なるが移行前と同名のユーザ、グループを作成し
再度データ移行を実施

#サーバBにてUID,GIDが異なるA_3000を作成

ID:A_3000
UID:4000
GID:4000

#再度データ移行を実施

#所有者はどちらになるか確認を行う

▼まとめ
UID,GIDが異なっていても以下のように事前にユーザとグループを作成しておけば
簡単に所有ユーザ、グループをあわせることができます。

1.移行対象データの所有ユーザ、グループ確認
※treeコマンドなどが調査に便利です。

2.移行先にユーザを作成

3.該当データを移行

以上です。

投稿者プロフィール

スカイブロガー

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.