diff options
Diffstat (limited to 'chapter04/addinguser.xml')
-rw-r--r-- | chapter04/addinguser.xml | 70 |
1 files changed, 69 insertions, 1 deletions
diff --git a/chapter04/addinguser.xml b/chapter04/addinguser.xml index 5073eac68..d701566ba 100644 --- a/chapter04/addinguser.xml +++ b/chapter04/addinguser.xml @@ -7,17 +7,85 @@ <title>Adding the LFS User</title> <?dbhtml filename="addinguser.html"?> -<para>Issue the following commands to add the new user:</para> +<para>When logged in as user <emphasis>root</emphasis>, making a +single mistake can damage or destroy a system. Therefore, we recommend +building the packages in this chapter as an unprivileged user. You +could use your own user name, but to make it easier to set up a clean +work environment, create a new user called <emphasis>lfs</emphasis> as +a member of a new group (also named <emphasis>lfs</emphasis>) and use +this user 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 command line options:</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 option 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> + +<varlistentry> +<term><parameter>lfs</parameter></term> +<listitem><para>This is the actual name for the created group and +user.</para></listitem> +</varlistentry> +</variablelist> + +<para>To log in as <emphasis>lfs</emphasis> (as opposed to switching +to user <emphasis>lfs</emphasis> when +logged in as <emphasis>root</emphasis>, which does not require the +<emphasis>lfs</emphasis> user to have a +password), give <emphasis>lfs</emphasis> a password:</para> + <screen><userinput>passwd lfs</userinput></screen> +<para>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 a separate working directory was created as suggested, give +user <emphasis>lfs</emphasis> ownership of this directory:</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 login shell as opposed to a non-login +shell. The difference between these two types of shells can be found +in detail in the Bash man and info pages.</para> + </sect1> + |