init =で実行されているShebangスクリプトがinitrdで実行されたときにeuidが0ですが、そうでないのはなぜですか?

init =で実行されているShebangスクリプトがinitrdで実行されたときにeuidが0ですが、そうでないのはなぜですか?

init = / myscriptを使用して起動コマンドラインから呼び出す独自のPID 1初期化スクリプトを作成しようとしています。すべてのカーネルの物理ファイルシステムで動作させるにはどうすればよいですか?

initrdで実行すると、うまく機能し、背中をマウントできます。ただし、initrdなしでファイルシステムで使用すると、次の理由でマウントできません。

mount: only root can do that (effective UID is 1000)

失敗したコマンドを追跡すると、必然的にgeteuid32()が実行され、1000が返されます。なぜ?どのようにeuid 0で実行できますか?

ベストアンサー1

initon には特別な処理がないので、initrd他の問題があるでしょう。

次回実行すると、rootこのビットが設定されるとeuidバイナリの所有者が一致します。setuid

タイトルを確認してください/bin/mount

おすすめ記事