source: chapter06/pwdgroup.xml@ effd9c6

6.1.1
Last change on this file since effd9c6 was 5473c666, checked in by Matthew Burgess <matthew@…>, 19 years ago

Add cdrom group as required by Udev rules file (merged from trunk 7022)

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

  • Property mode set to 100644
File size: 4.3 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/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 user <emphasis>root</emphasis> to be able to login
18and for the name <quote>root</quote> to be recognized, there must be relevant
19entries in the <filename>/etc/passwd</filename> and
20<filename>/etc/group</filename> files.</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"
26<literal>root:x:0:0:root:/root:/bin/bash</literal>
27EOF</userinput></screen>
28
29<para>The actual password for <emphasis>root</emphasis> (the <quote>x</quote>
30used here 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"
36<literal>root: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:
48video:x:12:
49utmp:x:13:
50usb:x:14:
51cdrom:x:15:</literal>
52EOF</userinput></screen>
53
54<para>The created groups are not part of any standard&mdash;they are groups
55decided on in part by the requirements of the Udev configuration in the next
56section, and in part by common convention employed by a number of existing Linux
57distributions. The Linux Standard Base (LSB, available at <ulink
58url="http://www.linuxbase.org"/>) recommends only that, besides the group
59<quote>root</quote> with a Group ID (GID) of 0, a group <quote>bin</quote> with
60a GID of 1 be present. All other group names and GIDs can be chosen freely by
61the system administrator since well-written programs do not depend on GID
62numbers, but rather use the group's name.</para>
63
64<para>To remove the <quote>I have no name!</quote> prompt, start a new
65shell. Since a full Glibc was installed in <xref
66linkend="chapter-temporary-tools"/> and the
67<filename>/etc/passwd</filename> and <filename>/etc/group</filename>
68files have been created, user name and group name resolution will now
69work.</para>
70
71<screen role="nodump"><userinput>exec /tools/bin/bash --login +h</userinput></screen>
72
73<para>Note the use of the <parameter>+h</parameter> directive. This tells
74<command>bash</command> not to use its internal path hashing. Without this
75directive, <command>bash</command> would remember the paths to binaries it has
76executed. To ensure the use of the newly compiled binaries as soon as they are
77installed, the <parameter>+h</parameter> directive will be used for the duration
78of this chapter.</para>
79
80<beginpage/>
81
82<para>The <command>login</command>, <command>agetty</command>, and
83<command>init</command> programs (and others) use a number of log
84files to record information such as who was logged into the system and
85when. However, these programs will not write to the log files if they
86do not already exist. Initialize the log files and give them
87proper permissions:</para>
88
89<screen><userinput>touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
90chgrp utmp /var/run/utmp /var/log/lastlog
91chmod 664 /var/run/utmp /var/log/lastlog</userinput></screen>
92
93<para>The <filename>/var/run/utmp</filename> file records the users
94that are currently logged in. The <filename>/var/log/wtmp</filename>
95file records all logins and logouts. The
96<filename>/var/log/lastlog</filename> file records when
97each user last logged in. The <filename>/var/log/btmp</filename> file
98records the bad login attempts.</para>
99
100</sect1>
101
Note: See TracBrowser for help on using the repository browser.