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 | systemd-journal:x:&gid-systemd-journal;: |
---|
69 | systemd-timesync:x:&gid-systemd-timesync;: |
---|
70 | mail:x:&gid-mail;: |
---|
71 | wheel:x:&gid-wheel;: |
---|
72 | nogroup:x:&gid-nogroup;:</literal> |
---|
73 | EOF</userinput></screen> |
---|
74 | |
---|
75 | <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" |
---|
76 | href="../../boot/common/pwdgroup.xml" |
---|
77 | xpointer="xpointer(//*[@os='d'])"/> |
---|
78 | |
---|
79 | <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" |
---|
80 | href="../../boot/common/pwdgroup.xml" |
---|
81 | xpointer="xpointer(//*[@os='e'])"/> |
---|
82 | |
---|
83 | <para>To remove the <quote>I have no name!</quote> prompt, start a |
---|
84 | new shell. Since a full Glibc was installed in <xref |
---|
85 | linkend="chapter-cross-tools"/> and the <filename>/etc/passwd</filename> |
---|
86 | and <filename>/etc/group</filename> files have been created, user name |
---|
87 | and group name resolution will now work.</para> |
---|
88 | |
---|
89 | <screen role="nodump"><userinput>exec /tools/bin/bash --login +h</userinput></screen> |
---|
90 | |
---|
91 | <para>Note the use of the <parameter>+h</parameter> directive. This tells |
---|
92 | <command>bash</command> not to use its internal path hashing. Without this |
---|
93 | directive, <command>bash</command> would remember the paths to binaries it |
---|
94 | has executed. To ensure the use of the newly compiled binaries as soon as |
---|
95 | they are installed, the <parameter>+h</parameter> directive will be used |
---|
96 | for the duration of the next chapters.</para> |
---|
97 | |
---|
98 | </sect1> |
---|