mkinitcpio busybox ashを/etc/profileソースにする方法は?

mkinitcpio busybox ashを/etc/profileソースにする方法は?

Arch Linuxは/usr/lib/initcpio/busyboxmkinitcpio-busybox 1.27.2-1パッケージに属し、次のようになります。低機能構成、たとえば、CONFIG_FEATURE_USE_INITTAB が設定されていません。

/etc/profilebusyboxを含むカスタムinitramfsでソースコード操作を実行するためにSSHネットワークログインを取得できました。まだ一つあります。禁煙健康増進協会シェルプロンプトはVGAモニターに表示されます。

ただし、「vga」シェルはソースではありません/etc/profile。尋ねる:ログインシェルと非ログインシェルの違いは何ですか?このシェルはログインシェルではないようです。シェルは次のコマンドで始まります/init

exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'

返品:

  • exec setsid sh -c 'exec sh -i </dev/tty1 >/dev/tty1 2>&1'
  • exec setsid sh -c 'exec sh - </dev/tty1 >/dev/tty1 2>&1'
  • exec setsid sh -c 'exec -sh </dev/tty1 >/dev/tty1 2>&1'

busybox ashこのシェルをソーシングする/etc/profileか(自動)ログインシェルにするにはどうすればよいですか?

ベストアンサー1

ルールに従って始まるコマンド名でシェルを呼び出すと、そのシェルはログインシェルとして機能します-。これは、パスでexec -sh実行可能ファイルを呼び出す場合に機能します。-shBusyBox ashはこの-lオプションもサポートしているのでsh -l

ログイン時にloginプログラム(またはsshdログインを処理するすべてのプログラム)は、コマンド名で始まり、ユーザーのシェルを実行することを担当します-(コマンド名は実行可能ファイル名と同じである必要はありません。非常に一般的なルールですが、意図login的に違反します。 )ここで、「ログインしているすべてのアイテムの処理」はミニスクリプトなので、これを処理する必要があります。

おすすめ記事