pwdgroup.xml 4.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. <indexterm zone="ch-system-pwdgroup"><primary sortas="e-/etc/passwd">/etc/passwd</primary></indexterm>
  10. <indexterm zone="ch-system-pwdgroup"><primary sortas="e-/etc/group">/etc/group</primary></indexterm>
  11. <indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/run/utmp">/var/run/utmp</primary></indexterm>
  12. <indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/btmp">/var/log/btmp</primary></indexterm>
  13. <indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/lastlog">/var/log/lastlog</primary></indexterm>
  14. <indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/wtmp">/var/log/wtmp</primary></indexterm>
  15. <para>In order for user <emphasis>root</emphasis> to be able to login
  16. and for the name <quote>root</quote> to be recognized, there must be relevant
  17. entries in the <filename>/etc/passwd</filename> and
  18. <filename>/etc/group</filename> files.</para>
  19. <para>Create the <filename>/etc/passwd</filename> file by running the following
  20. command:</para>
  21. <screen><userinput>cat &gt; /etc/passwd &lt;&lt; "EOF"
  22. <literal>root:x:0:0:root:/root:/bin/bash</literal>
  23. EOF</userinput></screen>
  24. <para>The actual password for <emphasis>root</emphasis> (the <quote>x</quote>
  25. used here is just a placeholder) will be set later.</para>
  26. <para>Create the <filename>/etc/group</filename> file by running the following
  27. command:</para>
  28. <screen><userinput>cat &gt; /etc/group &lt;&lt; "EOF"
  29. <literal>root:x:0:
  30. bin:x:1:
  31. sys:x:2:
  32. kmem:x:3:
  33. tty:x:4:
  34. tape:x:5:
  35. daemon:x:6:
  36. floppy:x:7:
  37. disk:x:8:
  38. lp:x:9:
  39. dialout:x:10:
  40. audio:x:11:
  41. video:x:12:
  42. utmp:x:13:
  43. usb:x:14:</literal>
  44. EOF</userinput></screen>
  45. <para>The created groups are not part of any standard&mdash;they are some of the
  46. groups that the Udev configuration will use in the next section. The Linux
  47. Standard Base (LSB, available at <ulink url="http://www.linuxbase.org"/>)
  48. recommends only that, besides the group <quote>root</quote> with a Group ID
  49. (GID) of 0, a group <quote>bin</quote> with a GID of 1 be present. All other
  50. group names and GIDs can be chosen freely by the system administrator since
  51. well-written packages do not depend on GID numbers, but rather use the group's
  52. name.</para>
  53. <para>To remove the <quote>I have no name!</quote> prompt, start a new
  54. shell. Since a full Glibc was installed in <xref
  55. linkend="chapter-temporary-tools"/> and the
  56. <filename>/etc/passwd</filename> and <filename>/etc/group</filename>
  57. files have been created, user name and group name resolution will now
  58. work.</para>
  59. <screen><userinput>exec /tools/bin/bash --login +h</userinput></screen>
  60. <para>Note the use of the <parameter>+h</parameter> directive. This tells
  61. <command>bash</command> not to use its internal path hashing. Without this
  62. directive, <command>bash</command> would remember the paths to binaries it has
  63. executed. To ensure the use of the newly compiled binaries as soon as they are
  64. installed, the <parameter>+h</parameter> directive will be used for the duration
  65. of this chapter.</para>
  66. <para>The <command>login</command>, <command>agetty</command>, and
  67. <command>init</command> programs (and others) use a number of log
  68. files to record information such as who was logged into the system and
  69. when. However, these programs will not write to the log files if they
  70. do not already exist. Initialize the log files and give them
  71. proper permissions:</para>
  72. <screen><userinput>touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
  73. chgrp utmp /var/run/utmp /var/log/lastlog
  74. chmod 664 /var/run/utmp /var/log/lastlog</userinput></screen>
  75. <para>The <filename>/var/run/utmp</filename> file records the users
  76. that are currently logged in. The <filename>/var/log/wtmp</filename>
  77. file records all logins and logouts. The
  78. <filename>/var/log/lastlog</filename> file records when
  79. each user last logged in. The <filename>/var/log/btmp</filename> file
  80. records the bad login attempts.</para>
  81. </sect1>