web-dev-qa-db-ja.com

nis passwdファイルにrootユーザーを追加する方法は?

システム管理者の1人が誤って/ etc/passwd ... doh!バックアップからファイルを復元することはできません... rootユーザーが存在しないため、エラーが発生します。

このサイトでNISを実行し、passwd/group/shadowファイルを提供していて、rootユーザーを追加しようとしましたが、これを伝播できません(MINUIDとMINGIDに異なる値を試しました)。 NISがそのようなことを避けたい理由は理解していますが、エラー、ヘルプ!

サーバーはCentOS5.6を実行していて、CD/DVDドライブがないため、レスキューCDで再起動できません。

助言がありますか?

1
Caroline

ルートユーザーをそれにシューホーニングする方法はあると思いますが、最小限の時間枠で再び動作させたい場合は、USBサムドライブまたはUSBCDドライブを使用します。レスキューCDから起動できます。これらのいずれかがすぐに利用できるはずであり、巧妙な回避策を使用する方法を見つけるまでに、ドライブとデスクトップで待機しているレスキューディストリビューションのダウンロードを持って地元の小売業者から戻ってきた可能性があります。

サーバーに関する詳細については触れていませんが、サーバーがRAIDを実行していない(またはシステムドライブがRAIDEDされていない)可能性がありますか?その場合は、ドライブを取り外して別のシステムにマウントし、そこでファイルを変更できます。システムの重要度に応じて、ドライブとコントローラーを別のシステムにマウントして、RAIDボリューム全体を別のドライブとして起動してみることができます。

将来、そのサーバーのリカバリプロセスのバックアップとしてUSBドライブを取得することを検討することをお勧めします。今回の問題は人為的ミスである可能性がありますが、将来的に同様の問題を引き起こすドライブの破損を排除するものではありません。

1

NISマスターサーバーでNISMakefileを一時的に編集してみてください。それが現在言っているところ

passwd.byname: $(PASSWD) $(SHADOW) $(YPDIR)/Makefile
        @echo "Updating $@..."
        @$(UMASK); \
        $(MERGER) -p $(PASSWD) $(SHADOW) | \
           $(AWK) -F: '!/^[-+#]/ { if ($$1 != "" && $$3 >= $(MINUID) && $$3 !=$(NFSNOBODYUID)) \
           print $$1"\t"$$0 }' | $(DBLOAD) -i $(PASSWD) \
                -o $(YPMAPDIR)/$@ - $@
        -@$(NOPUSH) || $(YPPUSH) -d $(DOMAIN) $@

そのawk行を変更して、MINUIDNFSNOBODYUIDのテストを削除してみてください。

           $(AWK) -F: '!/^[-+#]/ { if ("" == "") \

同様に、passwd.byuidのセクションで、passwdマップを再作成し、ルートエントリがypcat passwdでそこにあるかどうかを確認します。

0
MadHatter