| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 | <?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/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 <emphasis>root</emphasis> to be able to login and for the name <quote>root</quote> to be recognized, there need to be relevant entries inthe <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"</userinput>root:x:0:0:root:/root:/bin/bash<userinput>EOF</userinput></screen><para>The actual password for <emphasis>root</emphasis> (the <quote>x</quote>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"</userinput>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:<userinput>EOF</userinput></screen><para>The created groups aren't part of any standard -- they are some of thegroups that the Udev configuration we will be using in the next sectionuses. The LSB (<ulink url="http://www.linuxbase.org/">Linux StandardBase</ulink>) recommends only that, beside the group <quote>root</quote> with aGID of 0, a group <quote>bin</quote> with a GID of 1 be present. All other groupnames and GIDs can be chosen freely by the system administrator, sincewell-written packages don't depend on GID numbers but use the group's name.</para><para>To get rid of the <quote>I have no name!</quote> prompt, we will start anew shell.  Since we installed a full Glibc in<xref linkend="chapter-temporary-tools"/>, and have just created the<filename>/etc/passwd</filename> and <filename>/etc/group</filename> files,user name and group name resolution will now work.</para><screen><userinput>exec /tools/bin/bash --login +h</userinput></screen><para>Note the use of the <emphasis>+h</emphasis> directive. This tells<command>bash</command> not to use its internal path hashing. Without thisdirective, <command>bash</command> would remember the paths to binaries ithas executed. Since we want to use our newly compiled binaries as soon asthey are installed, we turn off this function for the duration of thischapter.</para><para>The <command>login</command>, <command>agetty</command> and<command>init</command> programs (and some others) use a number of logfiles to record information such as who was logged into the system and when.These programs, however, won't write to the log files if they don't alreadyexist. Initialize the log files and give them their 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 users that arecurrently logged in. The <filename>/var/log/wtmp</filename> file records alllogins and logouts. The <filename>/var/log/lastlog</filename> file records foreach user when he or she last logged in. The <filename>/var/log/btmp</filename>file records the bad login attempts.</para></sect1>
 |