CentOS6からCentOS7にユーザを移行する作業があり、方法を調べてみました。
CentOS6 6.10
CentOS7 7.7.1908
にて確認しています。
作業は全てrootユーザにて行っています。
CentOS6側
# テスト用グループ作成 groupadd -g 19999 test-group # テスト用ユーザ作成 useradd -g 19999 -u 19999 foo passwd foo bar bar # ユーザ追加確認 cat /etc/passwd | grep foo # パスワード確認(ハッシュ方式確認) # 先頭が$1ならmd5 # $5ならsha256 # $6ならsha512 # ※受け側のglibcが2.7以降であれば、どの形式でもそのままコピペ可のようです cat /etc/shadow | grep foo # グループ追加確認 cat /etc/group | grep test # ユーザ変更 su - foo # テストファイル作成 touch test # rootに戻る exit # ホームディレクトリのバックアップ tar cvf foohome.tar /home/foo # 固めたアーカイブは手元に置いておきます(あとでCentOS7側に転送します)
Centos7側
# ホームディレクトリの内容を予めCentOS7側に転送しておきます # ホームディレクトリの内容を展開 cd / tar xvf ~/foohome.tar ls -al /home # ユーザ定義のインポート # ※データが画面上で2行に見えている場合がありますが、そのまま1行として貼り付け下さい # # /etc/passwd に CentOS6側の /etc/passwd 内の foo の行をそのまま貼り込んで保存 vipw -p # /etc/shadow に CentOS6側の /etc/shadow 内の foo の行をそのまま貼り込んで保存 vipw -s # /etc/group に CentOS6側の /etc/group 内の test-group の行をそのまま貼り込んで保存 vigr -g # /etc/gshadow に CentOS6側の /etc/gshadow 内の test-group の行をそのまま貼り込んで保存 vigr -s # 移行結果確認 ls -al /home
ユーザfooでCentOS7にログインして確認ください。
以上です