<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [ <!ENTITY % general-entities SYSTEM "../general.ent"> %general-entities; ]> <sect1 id="ch-tools-addinguser"> <title>Adding the user lfs</title> <?dbhtml filename="addinguser.html"?> <para>When logged in as <emphasis>root</emphasis>, making a single mistake can damage or even wreck your system. Therefore we recommend that you build the packages in this chapter as an unprivileged user. You could of course use your own user name, but to make it easier to set up a clean work environment we'll create a new user <emphasis>lfs</emphasis> as a member of a new group (also named <emphasis>lfs</emphasis>) and use this one during the installation process. As <emphasis>root</emphasis>, issue the following commands to add the new user:</para> <screen><userinput>groupadd lfs useradd -s /bin/bash -g lfs -m -k /dev/null lfs</userinput></screen> <para>The meaning of the switches:</para> <variablelist> <varlistentry> <term><parameter>-s /bin/bash</parameter></term> <listitem><para>This makes <command>bash</command> the default shell for user <emphasis>lfs</emphasis>.</para></listitem> </varlistentry> <varlistentry> <term><parameter>-g lfs</parameter></term> <listitem><para>This adds user <emphasis>lfs</emphasis> to group <emphasis>lfs</emphasis></para></listitem> </varlistentry> <varlistentry> <term><parameter>-m</parameter></term> <listitem><para>This creates a home directory for <emphasis>lfs</emphasis>.</para></listitem> </varlistentry> <varlistentry> <term><parameter>-k /dev/null</parameter></term> <listitem><para>This parameter prevents possible copying of files from a skeleton directory (default is <filename class="directory">/etc/skel</filename>) by changing the input location to the special null device.</para></listitem> </varlistentry> </variablelist> <para>If you want to be able to log in as <emphasis>lfs</emphasis>, then give <emphasis>lfs</emphasis> a password:</para> <screen><userinput>passwd lfs</userinput></screen> <para>and grant <emphasis>lfs</emphasis> full access to <filename class="directory">$LFS/tools</filename> by making <emphasis>lfs</emphasis> the directory owner:</para> <screen><userinput>chown lfs $LFS/tools</userinput></screen> <para>If you made a separate working directory as suggested, give user <emphasis>lfs</emphasis> ownership of this directory too:</para> <screen><userinput>chown lfs $LFS/sources</userinput></screen> <para>Next, login as user <emphasis>lfs</emphasis>. This can be done via a virtual console, through a display manager, or with the following substitute user command:</para> <screen><userinput>su - lfs</userinput></screen> <para>The <quote><parameter>-</parameter></quote> instructs <command>su</command> to start a <emphasis>login</emphasis> shell.</para> </sect1>