%general-entities; ]> Adding the LFS User When logged in as user root, making a single mistake can damage or destroy a system. Therefore, the packages in the next two chapters are built as an unprivileged user. You could use your own user name, but to make it easier to set up a clean working environment, we will create a new user called lfs as a member of a new group (also named lfs) and run commands as &lfs-user; during the installation process. As root, issue the following commands to add the new user: groupadd lfs useradd -s /bin/bash -g lfs -m -k /dev/null lfs This is what the command line options mean: -s /bin/bash This makes bash the default shell for user lfs. -g lfs This option adds user lfs to group lfs. -m This creates a home directory for lfs. -k /dev/null This parameter prevents possible copying of files from a skeleton directory (the default is /etc/skel) by changing the input location to the special null device. lfs This is the actual name for the created user. To enable logging in as lfs (as opposed to switching to user lfs when logged in as root, which does not require the lfs user to have a password), give lfs a password: passwd lfs Grant lfs full access to all the directories under $LFS by making lfs the owner: chown -v lfs $LFS/{usr{,/*},lib,var,etc,bin,sbin,tools} case $(uname -m) in x86_64) chown -v lfs $LFS/lib64 ;; esac In some host systems, the following su command does not complete properly and suspends the login for the &lfs-user; user to the background. If the prompt "lfs:~$" does not appear immediately, entering the fg command will fix the issue. Next, login as user lfs. This can be done via a virtual console, through a display manager, or with the following substitute/switch user command: su - lfs The - instructs su to start a login shell as opposed to a non-login shell. The difference between these two types of shells is described in detail in bash(1) and info bash.