at_kazutaka.bito
2014年9月25日 10時14分
通常、Armadillo上でユーザを追加しても、電源をOFFにすると追加したユーザは消えてしまうので、 次の起動時に追加したユーザでログインできない。 電源をOFFにしても、次の起動時に追加したユーザでログインができるように、追加したユーザを保存する方法を試してみた。
1.一度ビルドする。 [atde ~]$ cd ~/atmark-dist [atde ~/atmark-dist]$ make 2.上記1で生成されたromfs/etc内のpasswd、shadow、group、gshadow をromfs/etc/defaultに移動する。 [atde ~/atmark-dist]$ cd ~/atmark-dist/romfs/etc [atde ~/atmark-dist/romfs/etc]$ mv passwd ./default/ [atde ~/atmark-dist/romfs/etc]$ mv shadow ./default/ [atde ~/atmark-dist/romfs/etc]$ mv group ./default/ [atde ~/atmark-dist/romfs/etc]$ mv gshadow ./default/ 3.下記のようにromfs/etcに、passwd、shadow、group、gshadow とromfs/etc/config内の同名ファイルでリンクを貼る。 [atde ~/atmark-dist/romfs/etc]$ ln -s /etc/config/passwd passwd [atde ~/atmark-dist/romfs/etc]$ ln -s /etc/config/shadow shadow [atde ~/atmark-dist/romfs/etc]$ ln -s /etc/config/group group [atde ~/atmark-dist/romfs/etc]$ ln -s /etc/config/gshadow gshadow 3.make imageでイメージファイルを生成する。 [atde ~]$ cd ~/atmark-dist [atde ~/atmark-dist]$ make image 4.上記3で生成したイメージをArmadilloに書き込む。 5.上記4のイメージを書き込んだArmadilloを起動して rootユーザでログインする。 6.adduserでユーザを追加。(以降はユーザ名を"user1"とした場合) [armadillo ~]# adduser user1 7./etc/shadowを/etc/configにコピー。 [armadillo ~]# cp /etc/shadow /etc/config/ 8.起動時にユーザのホームディレクトリを作成するように [armadillo ~]# vi /etc/config/rc.local でエディタを開いて、rc.localファイルに mkdir /home/user1 を追加。 9./etc/config領域をROMに保存。 [armadillo ~]# flatfsd -s
上記手順によりArmadilloを再起動してもArmadillo上で追加したユーザ(user1)でログインできた。
注意)本方法だと、ROMのコンフィグ領域(/etc/config/)にパスワードを記録しているので、このファイルを改ざんされるとパスワードを突破される。