幸いにも util-linux-2.12i に passwd という コマンドが有るようです。
へたら導入しましょう。
$ cd sysapps/util-linux-2.12i/login-utils/ $ make CC=i386-uclibc-gcc passwd 2>&1 | tee log-make-passwd $ ls Makefile fastboot.8 login.h setpwnam.o README.getty fasthalt.8 login.o shutdown.8 README.modems-with-agetty halt.8 mesg.1 shutdown.c README.poeigl initctl.8 mesg.c simpleinit.8 agetty* initctl.c my_crypt.h simpleinit.c agetty.8 islocal.c newgrp.1 simpleinit.h agetty.c islocal.h newgrp.c ttymsg.c agetty.o islocal.o passwd* ttymsg.h checktty.c last.1 passwd.1 vigr.8 checktty.o last.c passwd.c vipw.8 chfn.1 log-make-agetty passwd.o vipw.c chfn.c log-make-login reboot.8 wall.1 chsh.1 log-make-passwd selinux_utils.c wall.c chsh.c login* selinux_utils.h cryptocard.c login.1 setpwnam.c cryptocard.h login.c setpwnam.h
$ cd ../../../
$ cp sysapps/util-linux-2.12i/login-utils/passwd rootfs/usr/bin/
$ ls rootfs/usr/bin/
[@ clear@ du@ free@ killall@ reset@ test@ uptime@ whoami@
basename@ cut@ env@ head@ logger@ sort@ tty@ wc@ xargs@
chvt@ dirname@ find@ id@ passwd* tail@ uniq@ which@ yes@
/etc/passwd の root を無効化 また shadow を 無しにする。
$ cd rootfs/etc/ $ cp -a passwd 001_passwd $ vi passwd c$ cat passwd root::0:0::/root:/bin/sh bin:x:1:1:bin:/bin: daemon:x:2:2:daemon:/sbin: $ mv shadow 001_shadow-bk $ cd ../../
色々 試行錯誤した結果 こうしました。 これで initrd.img を 再構成して 置き換え起動 を行います。今回 /usr/bin/passwd という コマンドを追加した ので 新しい パスワードを設定する事が 出来ると考えています。
ほたら initrd.img の 再構成と 起動を 見てみましょう。
/etc/passwd の ファイルを フロッピー に コピできました。これを置き換 えて 再度 initrd.img を 再構成しましょう。
バックアップを取っておきます。
# dd if=/dev/fd0 of=c-v-0.08-boot-passwd-cmd bs=1k dd: reading `/dev/fd0': Input/output error 1316+0 records in 1316+0 records out
あれま まあ 変更無しなので 一つ前のもので 作りなおせばいいべや
# dd if=/dev/fd0 of=c-v-0.08-root-grub-passwd-cmd bs=1k 1440+0 records in 1440+0 records out
root disk は OK ですだ。
しからば bootdisk を再構成します。
本来は 余分な事ですが フロッピディスクが 壊れ易く なって来たように 感 じます。 というより もう使えなくなっている のが正解でしょうか???
にゃんたろう 拝!
2011年10月 1日 (土) 21:06:33 JST 作成