[Armadillo:07286] Re: Armadillo-420 でのパスワード変更

Yasuhisa Nakamura email@hidden
2011年 5月 27日 (金) 10:41:12 JST


中村です。

横から失礼します。

> passwdの実体(/usr/bin/passwd)より前にpathが通ってるところに、
> 自前のpasswdスクリプトを配置しておく、というのが
> 手っ取り早い方法ではないでしょうか。

busyboxのashをシェルに使っていて(/bin/shもbusyboxですね)、
busyboxにそのコマンド(アプレット、今回の話ではpasswd)がある場合、
pathのサーチ順に関係なく、buxyboxのコマンドが実行されますので、
注意が必要です。
(実行コマンドをフルパスで指定しない場合)

極端な話、
/usr/bin/passwd -> ../../bin/busybox
のリンクを削除して、サーチpath上に別のpasswdコマンドを用意したり、
もともとbusyboxをさしていた /usr/bin/passwdを別のpasswdコマンドに
リンクしなおしたりしても、busybox版のpasswdが動いてしまいます。

きちんとソースを追ったわけではありませんが、前に別件でこれが
気になり、ざっとソースを眺めたところでは、busyboxのashは、
busyboxで処理できるコマンドは、
  /bin/busybox passwd
というように、内部でbuxyboxを起動しているようです(不確か)。

-- 
なかむら




armadillo メーリングリストの案内