source: chapter06/pwdgroup.xml@ 456a1d92

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.0 6.1 6.1.1 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 456a1d92 was 678e79c, checked in by Zack Winkles <winkie@…>, 20 years ago

Moved group "usb" to GID 14 instead of 15

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3679 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:
48video:x:12:
49utmp:x:13:
50usb:x:14:
51<userinput>EOF</userinput></screen>
52
53<para>The created groups aren't part of any standard -- they are some of the
54groups that the Udev configuration we will be using in the next section
55uses. The LSB (<ulink url="http://www.linuxbase.org/">Linux Standard
56Base</ulink>) recommends only that, beside the group <quote>root</quote> with a
57GID of 0, a group <quote>bin</quote> with a GID of 1 be present. All other group
58names and GIDs can be chosen freely by the system administrator, since
59well-written packages don't depend on GID numbers but use the group's name.
60</para>
61
62<para>To get rid of the <quote>I have no name!</quote> prompt, we will start a
63new shell. Since we installed a full Glibc in
64<xref linkend="chapter-temporary-tools"/>, and have just created the
65<filename>/etc/passwd</filename> and <filename>/etc/group</filename> files,
66user name and group name resolution will now work.</para>
67
68<screen><userinput>exec /tools/bin/bash --login +h</userinput></screen>
69
70<para>Note the use of the <emphasis>+h</emphasis> directive. This tells
71<command>bash</command> not to use its internal path hashing. Without this
72directive, <command>bash</command> would remember the paths to binaries it
73has executed. Since we want to use our newly compiled binaries as soon as
74they are installed, we turn off this function for the duration of this
75chapter.</para>
76
77<para>The <command>login</command>, <command>agetty</command> and
78<command>init</command> programs (and some others) use a number of log
79files to record information such as who was logged into the system and when.
80These programs, however, won't write to the log files if they don't already
81exist. Initialize the log files and give them their proper permissions:</para>
82
83<screen><userinput>touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
84chgrp utmp /var/run/utmp /var/log/lastlog
85chmod 664 /var/run/utmp /var/log/lastlog</userinput></screen>
86
87<para>The <filename>/var/run/utmp</filename> file records the users that are
88currently logged in. The <filename>/var/log/wtmp</filename> file records all
89logins and logouts. The <filename>/var/log/lastlog</filename> file records for
90each user when he or she last logged in. The <filename>/var/log/btmp</filename>
91file records the bad login attempts.</para>
92
93</sect1>
Note: See TracBrowser for help on using the repository browser.