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

这个参数通过改变输入位置为特殊的空(null)设备,以防止可能从框架目录(默认是 /etc/skel)复制文件。

lfs

这是创建的组和用户的实际名称。

要以 lfs 用户身份登录(相较于以 root 身份登录的情况下切换到 lfs 用户时,无需为 lfs 用户设置密码),需要给 lfs 用户一个密码:

passwd lfs

通过更改目录所有者为 lfs,为用户 lfs 赋予了访问 $LFS/tools 目录的所有权限:

chown -v lfs $LFS/tools

如果你按照建议创建了单独的工作目录,给 lfs 用户赋予这个目录的所有权:

chown -v lfs $LFS/sources

下一步,以 lfs 用户身份登录。可以能通过一个虚拟控制台、显示控制器,或者下面的切换用户命令完成:

su - lfs

这个「-」授意 su 启动登录 shell,而非 non-login shell。关于这两种 shell 类型的区别,可以在 bash(1)info bash 中查看详细详情。