4.3. 添加 LFS 用户

在作为 root 用户登录时,一个微小的错误就可能损坏甚至摧毁整个系统。因此,我们建议在后续两章中,以非特权用户身份编译软件包。您可以使用自己的系统用户,但为了更容易地建立一个干净的工作环境,最好创建一个名为 lfs 的新用户,以及它从属于的一个新组 (组名也是 lfs),以便我们在安装过程中使用。为了创建新用户,以 root 身份执行以下命令:

groupadd lfs
useradd -s /bin/bash -g lfs -m -k /dev/null lfs

命令行各选项的含义:

-s /bin/bash

设置 bash 为用户 lfs 的默认 shell。

-g lfs

添加用户 lfs 到组 lfs

-m

为用户 lfs 创建一个主目录。

-k /dev/null

将模板目录设置为空设备文件,从而不从默认模板目录 (/etc/skel) 复制文件到新的主目录。

lfs

要创建的用户的名称。

为了以 lfs 身份登录系统 (尽管以 root 身份登录时可以不用输入密码,直接切换到用户 lfs),为 lfs 设置密码:

passwd lfs

lfs 设为 $LFS 中所有目录的所有者,使 lfs 对它们拥有完全访问权:

chown -v lfs $LFS/{usr,lib,var,etc,bin,sbin,tools}
case $(uname -m) in
  x86_64) chown -v lfs $LFS/lib64 ;;
esac

如果您按照本书的建议,建立了一个单独的工作目录,那么将这个目录的所有者也设为 lfs

chown -v lfs $LFS/sources
[注意]

注意

在某些宿主系统上,下面的命令不会正确完成,而会将 lfs 用户的登录会话挂起到后台。如果提示符 “lfs:~$” 没有很快出现,输入 fg 命令以修复这个问题。

下面以 lfs 的身份登录。可以通过虚拟控制台或者显示管理器登录,也可以使用下面的命令切换用户:

su - lfs

参数 - 使得 su 启动一个登录 shell,而不是非登录 shell。您可以阅读 bash(1)info bash 详细了解它们的区别。