| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 | <?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-system-pwdgroup"><title>Creating the passwd, group, and log Files</title><?dbhtml filename="pwdgroup.html"?><indexterm zone="ch-system-pwdgroup"><primary sortas="e-/etc/passwd">/etc/passwd</primary></indexterm><indexterm zone="ch-system-pwdgroup"><primary sortas="e-/etc/group">/etc/group</primary></indexterm><indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/run/utmp">/var/run/utmp</primary></indexterm><indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/btmp">/var/log/btmp</primary></indexterm><indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/lastlog">/var/log/lastlog</primary></indexterm><indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/wtmp">/var/log/wtmp</primary></indexterm><para>In order for user <emphasis>root</emphasis> to be able to loginand for the name <quote>root</quote> to be recognized, there must be relevantentries in the <filename>/etc/passwd</filename> and<filename>/etc/group</filename> files.</para><para>Create the <filename>/etc/passwd</filename> file by running the followingcommand:</para><screen><userinput>cat > /etc/passwd << "EOF"<literal>root:x:0:0:root:/root:/bin/bash</literal>EOF</userinput></screen><para>The actual password for <emphasis>root</emphasis> (the <quote>x</quote>used here is just a placeholder) will be set later.</para><para>Create the <filename>/etc/group</filename> file by running the following command:</para><screen><userinput>cat > /etc/group << "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:</literal>EOF</userinput></screen><para>The created groups are not part of any standard—they are groupsdecided on in part by the requirements of the Udev configuration in the nextchapter, and in part by common convention employed by a number of existing Linuxdistributions. The Linux Standard Base (LSB, available at <ulinkurl="http://www.linuxbase.org"/>) recommends only that, besides the group<quote>root</quote> with a Group ID (GID) of 0, a group <quote>bin</quote> witha GID of 1 be present. All other group names and GIDs can be chosen freely bythe system administrator since well-written programs do not depend on GIDnumbers, but rather use the group's name.</para><para>To remove the <quote>I have no name!</quote> prompt, start a newshell. Since a full Glibc was installed in <xreflinkend="chapter-temporary-tools"/> and the<filename>/etc/passwd</filename> and <filename>/etc/group</filename>files have been created, user name and group name resolution will nowwork.</para><screen><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 thisdirective, <command>bash</command> would remember the paths to binaries it hasexecuted. To ensure the use of the newly compiled binaries as soon as they areinstalled, the <parameter>+h</parameter> directive will be used for the durationof this chapter.</para><para>The <command>login</command>, <command>agetty</command>, and<command>init</command> programs (and others) use a number of logfiles to record information such as who was logged into the system andwhen. However, these programs will not write to the log files if theydo not already exist. Initialize the log files and give them proper permissions:</para><screen><userinput>touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}chgrp utmp /var/run/utmp /var/log/lastlogchmod 664 /var/run/utmp /var/log/lastlog</userinput></screen><para>The <filename>/var/run/utmp</filename> file records the usersthat are currently logged in. The <filename>/var/log/wtmp</filename>file records all logins and logouts. The<filename>/var/log/lastlog</filename> file records wheneach user last logged in. The <filename>/var/log/btmp</filename> filerecords the bad login attempts.</para></sect1>
 |