source: chapter06/pwdgroup.xml@ 356d486d

Last change on this file since 356d486d was 673b0d8, checked in by Matthew Burgess <matthew@…>, 20 years ago
  • Merged newxml into HEAD

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3435 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 4.1 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
3 <!ENTITY % general-entities SYSTEM "../general.ent">
4 %general-entities;
5]>
6<sect1 id="ch-system-pwdgroup">
7<title>Creating the passwd, group and log files</title>
8<?dbhtml filename="pwdgroup.html"?>
9
10<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/etc/passwd">/etc/passwd</primary></indexterm>
11<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/etc/group">/etc/group</primary></indexterm>
12<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/run/utmp">/var/run/utmp</primary></indexterm>
13<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/btmp">/var/log/btmp</primary></indexterm>
14<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/lastlog">/var/log/lastlog</primary></indexterm>
15<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/wtmp">/var/log/wtmp</primary></indexterm>
16
17<para>In order for <emphasis>root</emphasis> to be able to login and for the
18name <quote>root</quote> to be recognized, there need to be relevant entries in
19the <filename>/etc/passwd</filename> and <filename>/etc/group</filename> files.
20</para>
21
22<para>Create the <filename>/etc/passwd</filename> file by running the following
23command:</para>
24
25<screen><userinput>cat &gt; /etc/passwd &lt;&lt; "EOF"</userinput>
26root:x:0:0:root:/root:/bin/bash
27<userinput>EOF</userinput></screen>
28
29<para>The actual password for <emphasis>root</emphasis> (the <quote>x</quote>
30here is just a placeholder) will be set later.</para>
31
32<para>Create the <filename>/etc/group</filename> file by running the following
33command:</para>
34
35<screen><userinput>cat &gt; /etc/group &lt;&lt; "EOF"</userinput>
36root:x:0:
37bin:x:1:
38sys:x:2:
39kmem:x:3:
40tty:x:4:
41tape:x:5:
42daemon:x:6:
43floppy:x:7:
44disk:x:8:
45lp:x:9:
46dialout:x:10:
47audio:x:11:
48<userinput>EOF</userinput></screen>
49
50<para>The created groups aren't part of any standard -- they are some of the
51groups that the <command>make_devices</command> script in the next section
52uses. The LSB (<ulink url="http://www.linuxbase.org/">Linux Standard
53Base</ulink>) recommends only that, beside the group <quote>root</quote> with a
54GID of 0, a group <quote>bin</quote> with a GID of 1 be present. All other group
55names and GIDs can be chosen freely by the system administrator, since
56well-written packages don't depend on GID numbers but use the group's name.
57</para>
58
59<para>To get rid of the <quote>I have no name!</quote> prompt, we will start a
60new shell. Since we installed a full Glibc in
61<xref linkend="chapter-temporary-tools"/>, and have just created the
62<filename>/etc/passwd</filename> and <filename>/etc/group</filename> files,
63user name and group name resolution will now work.</para>
64
65<screen><userinput>exec /tools/bin/bash --login +h</userinput></screen>
66
67<para>Note the use of the <emphasis>+h</emphasis> directive. This tells
68<command>bash</command> not to use its internal path hashing. Without this
69directive, <command>bash</command> would remember the paths to binaries it
70has executed. Since we want to use our newly compiled binaries as soon as
71they are installed, we turn off this function for the duration of this
72chapter.</para>
73
74<para>The <command>login</command>, <command>agetty</command> and
75<command>init</command> programs (and some others) use a number of log
76files to record information such as who was logged into the system and when.
77These programs, however, won't write to the log files if they don't already
78exist. Initialize the log files and give them their proper permissions:</para>
79
80<screen><userinput>touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
81chmod 644 /var/run/utmp /var/log/{btmp,lastlog,wtmp}</userinput></screen>
82
83<para>The <filename>/var/run/utmp</filename> file records the users that are
84currently logged in. The <filename>/var/log/wtmp</filename> file records all
85logins and logouts. The <filename>/var/log/lastlog</filename> file records for
86each user when he or she last logged in. The <filename>/var/log/btmp</filename>
87file records the bad login attempts.</para>
88
89</sect1>
Note: See TracBrowser for help on using the repository browser.