root がログインでき、また "root" という名前が認識されるために、/etc/passwd と /etc/group ファイルの中に適切な記載が必要です。
以下のコマンドを実行して /etc/passwd ファイルを作ります。
cat > /etc/passwd << "EOF" root:x:0:0:root:/root:/bin/bash EOF |
root の実際のパスワード(ここでの "x" はただの任意の文字(数字、記号)です)はあとで設定されます。
以下のコマンドを実行して /etc/group ファイルを作ります。
cat > /etc/group << "EOF" root:x:0: bin:x:1: sys:x:2: kmem:x:3: tty:x:4: tape:x:5: daemon:x:6: floppy:x:7: disk:x:8: lp:x:9: dialout:x:10: audio:x:11: EOF |
作成したグループはどの規格の一部でもありません。これらは次の項で使う MAKEDEV スクリプトのグループです。 "root" グループを別にして、LSB ( http://www.linuxbase.org )は GID 1 の "bin" グループだけを推奨します。 よくできたパッケージは GID 番号に依存せずグループの名前を使うので、その他すべてのグループ名と GID はユーザーによって自由に決めることができます。
最後に、chroot 環境に再ログインします。 第 5 章で Glibc のすべてのパッケージをインストールしたので、ユーザー名とグループ名の解決は /etc/passwd と /etc/group ファイルが作られたあとすぐに動き始めます。 これは "I have no name!" というプロンプトが出ないようにします。
exec /tools/bin/bash --login +h |
+h 指示の使用について注意しましょう。これは bash にその内部パスハッシングを使わないように伝えます。 この指示なしでは、bash は実行したバイナリへのパスを憶えようとします。 新しくコンパイルされたバイナリをインストールされたらすぐに使いたいので、この章の間はこの機能をオフにします。