そもそも root のログインシェルを変更しているから問題がややこしくなっている
んでしょうか。

>>>>> In 
>>>>> <[&#x30E1;&#x30FC;&#x30EB;&#x30A2;&#x30C9;&#x30EC;&#x30B9;&#x4FDD;&#x8B77;]>
>>>>>  
>>>>>   
>>>>> <[&#x30E1;&#x30FC;&#x30EB;&#x30A2;&#x30C9;&#x30EC;&#x30B9;&#x4FDD;&#x8B77;]>
>>>>>  wrote:

> > >> ppp_user の値は root です。
> > >> root($ppp_user)のログインシェルは、当初は bash でしたが、
> > > kshはlibintl.soに依存していないので、問題は起きないはずです。
> > > もしもrootのログインシェルをbashにしていると、/etc/rc.d/pppの実行時に
> > > "su -m ..."が「rootのシェルがきちんと使えること」を要求するはずなので、

>  ふと思ったんですが、rootとは別の名前で、ユーザーID 0・ログ
> インシェルがkshのユーザーを作って、ppp_userをそのユーザー名
> に設定したら解決したりしませんでしょうか?

> # 昔っからtoorっていうユーザーがありますよね?
> ## もしかすると、rootはkshのままで、toorをbashにした方がいい
> ## のかもしれない。

rootのログインシェルは標準のまま、例えば /bin/cshなら、/root/.loginに

test -x /usr/local/bin/bash && exec /usr/local/bin/bash

と書いておけば、rootでログインしたら bash が使えます。

(別解)

cd /usr/ports/shells/bash
make all WITH_STATIC_BASH=yes
cd work/bash-x.y.z
install -c -s -o root -g wheel -m 0555 bash /bin/bash

として、static linked な bash をインストールして、root のログインシェルを
/bin/bash にするというのもあります。これだと、single user modeでもbashを使
えます。
-- 
NAKAJI Hiroyuki (中治 弘行)

メールによる返信