特定のアプレットを含めるようにBusyBox
をカスタマイズしました。ここで、BusyBox
へのシェルとしてのユーザーログインが必要です。ユーザーがユーザー名とパスワードを入力すると、希望するアプレットだけが使用できる環境にリダイレクトされます。次のコマンドを使用してユーザーのログインシェルを変更しても機能しません。
usermod -s /bin/busybox MYUSER
su MYUSER
を使用するとBusyBox
ヘルプのみが表示されますが、必要なアプレットのみを含む対話型のシェルが必要です。解決策はありますか?
busybox
コマンドは、対話型のシェルではありません。トーマスが言ったように、インタラクティブシェルではbusybox sh
を実行する必要があります。これらのコマンドを使用して、busybox Interactive Shellをユーザーのログインシェルとして設定しますMYUSER:
echo "/bin/busybox sh" > /bin/ibusybox
chmod +x /bin/ibusybox
usermod -s /bin/ibusybox MYUSER
また、ibusybox
を使用すると、busyboxインタラクティブシェルが実行されます。
パラメーターとしてbusybox
でsh
を開始する必要があります。最善の方法は、小さなラッパーを作成することです。
mkdir -p /usr/local/share/busybox
echo "/bin/busybox sh" > /usr/local/share/busybox/sh
chmod +x /usr/local/share/busybox/sh
次に、ログインをテストします。
su - -s /usr/local/share/busybox/sh wood
成功した場合は、/usr/local/share/busybox/sh
をユーザーのシェルとして追加できます。
usermod -s /usr/local/share/busybox/sh MYUSER
busybox
を/usr/local/share/busybox/sh
にシンボリックリンクしようとしましたが、うまくいきませんでした。したがって、ラッパースクリプトです。