source: chapter06/pwdgroup.xml@ 0c78fca

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 0c78fca was b2812fc, checked in by Matthew Burgess <matthew@…>, 19 years ago

Typo correction (Chris Staub)

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

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