UIDの重複した複数のNISサーバを統合する手順
| 登録日 | :2024/08/03 19:19 |
|---|---|
| カテゴリ | :Linux |
1 手順の流れ
NISサーバを統合する際にUIDの重複が発生している場合、以下の手順で対処することができます:
-
重複の特定
まず、各NISサーバのユーザデータベースをエクスポートし、UIDの重複を特定します。ypcatコマンドを使用して、passwd.byuidマップを確認できます。 -
新しいUID割り当て
重複しているUIDを持つユーザに対して、新しい一意のUIDを割り当てます。これは手動で行うか、スクリプトを使用して自動化することができます。 -
ユーザデータの更新
新しいUIDでユーザデータを更新します。これには、passwd、shadow、groupファイルの更新が含まれます。 -
ファイルシステムの更新
ユーザのホームディレクトリやファイルの所有権を新しいUIDに変更します。chownコマンドを使用して、再帰的にファイルの所有権を更新できます。 -
NISマップの再構築
更新されたユーザデータを使用してNISマップを再構築します。makedbmコマンドを使用して新しいNISマップを作成します。 -
NISサーバの統合
すべてのユーザデータが更新され、UIDの重複が解消されたら、NISサーバを統合します。新しい統合されたNISサーバにデータをインポートします。 -
クライアントの更新
すべてのNISクライアントが新しい統合されたNISサーバを参照するように設定を更新します。 -
テストと検証
統合後、すべてのユーザアカウントが正しく機能していることを確認します。ログインテストや、ファイルアクセス権限のチェックを行います。
2. コマンド
UIDの重複したNISサーバを統合する具体的な手順とコマンドは以下の通りです:
重複の特定:
各NISサーバで以下のコマンドを実行し、UIDの重複を確認します。
ypcat passwd | awk -F: '{print $3}' | sort -n | uniq -d
新しいUID割り当て:
重複しているUIDを持つユーザーに新しいUIDを割り当てます。
usermod -u new_uid username
ユーザーデータの更新:
NISマップを更新します。
cd /var/yp
make
ファイルシステムの更新:
ユーザーのファイル所有権を新しいUIDに変更します。
find /home/username -user old_uid -exec chown new_uid {} \;
NISマップの再構築:
cd /var/yp
make
NISサーバの統合:
メインのNISサーバーにデータをコピーします。
rsync -avz /var/yp/ main_nis_server:/var/yp/
クライアントの更新:
各クライアントで新しいNISサーバーを指定します。
ypinit -c
テストと検証:
ypcat passwd
id username
これらのコマンドを使用して、UIDの重複を解消しNISサーバーを統合できます。ただし、大規模な環境では複雑になる可能性があるため、十分な計画と注意が必要です。また、データ損失を防ぐため、作業前にはバックアップを取ることが重要です。
Appendix
username, uid, gidを抽出するコマンド
ypcat passwd | awk -F: '{print $1,$3,$4}'