<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../../general.ent">
  %general-entities;
]>

<sect1 id="ch-chroot-pwdgroup">
  <?dbhtml filename="pwdgroup.html"?>

  <title>Creating the passwd, group, and log Files</title>

  <indexterm zone="ch-chroot-pwdgroup">
    <primary sortas="e-/etc/passwd">/etc/passwd</primary>
  </indexterm>

  <indexterm zone="ch-chroot-pwdgroup">
    <primary sortas="e-/etc/group">/etc/group</primary>
  </indexterm>

  <indexterm zone="ch-chroot-pwdgroup">
    <primary sortas="e-/var/run/utmp">/var/run/utmp</primary>
  </indexterm>

  <indexterm zone="ch-chroot-pwdgroup">
    <primary sortas="e-/var/log/btmp">/var/log/btmp</primary>
  </indexterm>

  <indexterm zone="ch-chroot-pwdgroup">
    <primary sortas="e-/var/log/lastlog">/var/log/lastlog</primary>
  </indexterm>

  <indexterm zone="ch-chroot-pwdgroup">
    <primary sortas="e-/var/log/wtmp">/var/log/wtmp</primary>
  </indexterm>

  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
  href="../../boot/common/pwdgroup.xml"
  xpointer="xpointer(//*[@os='a'])"/>
  
  <para>Create the <filename>/etc/passwd</filename> file by running the
  following command:</para>

<screen><userinput>cat &gt; /etc/passwd &lt;&lt; "EOF"
<literal>root:x:0:0:root:/root:/bin/bash</literal>
EOF</userinput></screen>

  <para os="b">The actual password for
  <systemitem class="username">root</systemitem> (the <quote>x</quote>
  used here is just a placeholder) will be set later.</para>

  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
  href="../../boot/common/pwdgroup.xml"
  xpointer="xpointer(//*[@os='c'])"/>

  <para>Create the <filename>/etc/group</filename> file by running the
  following command:</para>

<screen><userinput>cat &gt; /etc/group &lt;&lt; "EOF"
<literal>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:
video:x:12:
utmp:x:13:
usb:x:14:
cdrom:x:15:</literal>
EOF</userinput></screen>

  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
  href="../../boot/common/pwdgroup.xml"
  xpointer="xpointer(//*[@os='d'])"/>

  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
  href="../../boot/common/pwdgroup.xml"
  xpointer="xpointer(//*[@os='e'])"/>

  <para>To remove the <quote>I have no name!</quote> prompt, start a
  new shell. Since a full Glibc was installed in <xref
  linkend="chapter-cross-tools"/> and the <filename>/etc/passwd</filename>
  and <filename>/etc/group</filename> files have been created, user name
  and group name resolution will now work.</para>

<screen role="nodump"><userinput>exec /tools/bin/bash --login +h</userinput></screen>

  <para>Note the use of the <parameter>+h</parameter> directive. This tells
  <command>bash</command> not to use its internal path hashing. Without this
  directive, <command>bash</command> would remember the paths to binaries it
  has executed. To ensure the use of the newly compiled binaries as soon as
  they are installed, the <parameter>+h</parameter> directive will be used
  for the duration of the nexts chapters.</para>

  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
  href="../../boot/common/pwdgroup.xml"
  xpointer="xpointer(//*[@os='f'])"/>

<screen><userinput>touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
chgrp -v utmp /var/run/utmp /var/log/lastlog
chmod -v 664 /var/run/utmp /var/log/lastlog
chmod -v 600 /var/log/btmp</userinput></screen>

  <para>The <filename>/var/run/utmp</filename> file records the users that
  are currently logged in. The <filename>/var/log/wtmp</filename> file records
  all logins and logouts. The <filename>/var/log/lastlog</filename> file
  records when each user last logged in. The <filename>/var/log/btmp</filename>
  file records the bad login attempts.</para>

</sect1>
