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