| 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | 
|---|
| 2 | <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" | 
|---|
| 3 | "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ | 
|---|
| 4 | <!ENTITY % general-entities SYSTEM "../../general.ent"> | 
|---|
| 5 | %general-entities; | 
|---|
| 6 | ]> | 
|---|
| 7 |  | 
|---|
| 8 | <sect1 id="ch-chroot-pwdgroup"> | 
|---|
| 9 | <?dbhtml filename="pwdgroup.html"?> | 
|---|
| 10 |  | 
|---|
| 11 | <title>Creating the passwd and group Files</title> | 
|---|
| 12 |  | 
|---|
| 13 | <indexterm zone="ch-chroot-pwdgroup"> | 
|---|
| 14 | <primary sortas="e-/etc/passwd">/etc/passwd</primary> | 
|---|
| 15 | <secondary>chroot</secondary> | 
|---|
| 16 | </indexterm> | 
|---|
| 17 |  | 
|---|
| 18 | <indexterm zone="ch-chroot-pwdgroup"> | 
|---|
| 19 | <primary sortas="e-/etc/group">/etc/group</primary> | 
|---|
| 20 | <secondary>chroot</secondary> | 
|---|
| 21 | </indexterm> | 
|---|
| 22 |  | 
|---|
| 23 | <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" | 
|---|
| 24 | href="../../boot/common/pwdgroup.xml" | 
|---|
| 25 | xpointer="xpointer(//*[@os='a'])"/> | 
|---|
| 26 |  | 
|---|
| 27 | <para>Create the <filename>/etc/passwd</filename> file by running the | 
|---|
| 28 | following command:</para> | 
|---|
| 29 |  | 
|---|
| 30 | <screen><userinput>cat > /etc/passwd << "EOF" | 
|---|
| 31 | <literal>root:x:&uid-root;:&gid-root;:root:/root:/bin/bash</literal> | 
|---|
| 32 | <literal>bin:x:&uid-bin;:&gid-bin;:/bin:/bin/false</literal> | 
|---|
| 33 | <literal>daemon:x:&uid-daemon;:&gid-daemon;:/sbin:/bin/false</literal> | 
|---|
| 34 | <literal>messagebus:x:&uid-messagebus;:&gid-messagebus;:D-Bus Message Daemon User:/dev/null:/bin/false</literal> | 
|---|
| 35 | <literal>nobody:x:&uid-nobody;:&gid-nogroup;:Unprivileged User:/dev/null:/bin/false</literal> | 
|---|
| 36 | EOF</userinput></screen> | 
|---|
| 37 |  | 
|---|
| 38 | <para os="b">The actual password for | 
|---|
| 39 | <systemitem class="username">root</systemitem> (the <quote>x</quote> | 
|---|
| 40 | used here is just a placeholder) will be set later.</para> | 
|---|
| 41 |  | 
|---|
| 42 | <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" | 
|---|
| 43 | href="../../boot/common/pwdgroup.xml" | 
|---|
| 44 | xpointer="xpointer(//*[@os='c'])"/> | 
|---|
| 45 |  | 
|---|
| 46 | <para>Create the <filename>/etc/group</filename> file by running the | 
|---|
| 47 | following command:</para> | 
|---|
| 48 |  | 
|---|
| 49 | <screen><userinput>cat > /etc/group << "EOF" | 
|---|
| 50 | <literal>root:x:0: | 
|---|
| 51 | bin:x:&gid-bin;: | 
|---|
| 52 | sys:x:&gid-sys;: | 
|---|
| 53 | kmem:x:&gid-kmem;: | 
|---|
| 54 | tty:x:&gid-tty;: | 
|---|
| 55 | tape:x:&gid-tape;: | 
|---|
| 56 | daemon:x:&gid-daemon;: | 
|---|
| 57 | floppy:x:&gid-floppy;: | 
|---|
| 58 | disk:x:&gid-disk;: | 
|---|
| 59 | lp:x:&gid-lp;: | 
|---|
| 60 | dialout:x:&gid-dialout;: | 
|---|
| 61 | audio:x:&gid-audio;: | 
|---|
| 62 | video:x:&gid-video;: | 
|---|
| 63 | utmp:x:&gid-utmp;: | 
|---|
| 64 | usb:x:&gid-usb;: | 
|---|
| 65 | cdrom:x:&gid-cdrom;: | 
|---|
| 66 | adm:x:&gid-adm;: | 
|---|
| 67 | messagebus:x:&gid-messagebus;: | 
|---|
| 68 | mail:x:&gid-mail;: | 
|---|
| 69 | wheel:x:&gid-wheel;: | 
|---|
| 70 | nogroup:x:&gid-nogroup;:</literal> | 
|---|
| 71 | EOF</userinput></screen> | 
|---|
| 72 |  | 
|---|
| 73 | <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" | 
|---|
| 74 | href="../../boot/common/pwdgroup.xml" | 
|---|
| 75 | xpointer="xpointer(//*[@os='d'])"/> | 
|---|
| 76 |  | 
|---|
| 77 | <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" | 
|---|
| 78 | href="../../boot/common/pwdgroup.xml" | 
|---|
| 79 | xpointer="xpointer(//*[@os='e'])"/> | 
|---|
| 80 |  | 
|---|
| 81 | <para>To remove the <quote>I have no name!</quote> prompt, start a | 
|---|
| 82 | new shell. Since a full Glibc was installed in <xref | 
|---|
| 83 | linkend="chapter-cross-tools"/> and the <filename>/etc/passwd</filename> | 
|---|
| 84 | and <filename>/etc/group</filename> files have been created, user name | 
|---|
| 85 | and group name resolution will now work.</para> | 
|---|
| 86 |  | 
|---|
| 87 | <screen role="nodump"><userinput>exec /tools/bin/bash --login +h</userinput></screen> | 
|---|
| 88 |  | 
|---|
| 89 | <para>Note the use of the <parameter>+h</parameter> directive. This tells | 
|---|
| 90 | <command>bash</command> not to use its internal path hashing. Without this | 
|---|
| 91 | directive, <command>bash</command> would remember the paths to binaries it | 
|---|
| 92 | has executed. To ensure the use of the newly compiled binaries as soon as | 
|---|
| 93 | they are installed, the <parameter>+h</parameter> directive will be used | 
|---|
| 94 | for the duration of the next chapters.</para> | 
|---|
| 95 |  | 
|---|
| 96 | </sect1> | 
|---|