4.3. LFS ユーザーの追加

root ユーザーでログインしていると、ちょっとした誤操作がもとで、システムを破壊する重大な事態につながることがあります。 そこでパッケージのビルドにあたっては通常のユーザー権限にて作業することにします。 あなた自身のユーザーを利用するのでも構いませんが、全く新しいユーザー環境として lfs というユーザーを作成するのが分かりやすいでしょう。 所属するグループも lfs という名で作成します。 ビルド作業においてはこの lfs ユーザーによりコマンド実行していきます。 そこで root ユーザーになって、新たなユーザーを追加する以下のコマンドを実行します。

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

コマンドラインオプションの意味

-s /bin/bash

lfs ユーザーが利用するデフォルトのシェルを bash にします。

-g lfs

lfs ユーザーのグループを lfs とします。

-m

lfs ユーザーのホームディレクトリを生成します。

-k /dev/null

このパラメーターは、ディレクトリ名をヌルデバイス (null device) に指定しています。 こうすることでスケルトンディレクトリ (デフォルトは /etc/skel) からのファイル群のコピーを無効とします。

lfs

新規ユーザーの名称を与えます。

lfs にログインする、あるいは非 root ユーザーから lfs に切り替える場合には、lfs に対してパスワードを設定しておくことが必要です (この反対に root ユーザーにログインしている状態から lfs にユーザー切り替えを行う場合には、パスワードは必要ありません)。 root ユーザーにおいて以下のコマンドを実行して、パスワードの設定を行います。

passwd 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
[注記]

注記

ホストシステムによっては、以下の su コマンドを実行しても正常に処理されず、lfs ユーザーへのログインがバックグラウンドで処理中のままとなってしまうことがあります。 プロンプトに "lfs:~$" という表示がすぐに現れなかった場合は、fg コマンドを入力することで解決するかもしれません。

lfs ユーザーにより起動するシェルを開始します。 これは、仮想コンソール上から lfs によってログインして実現します。 あるいは以下のユーザー切り替えコマンドを実行します。

su - lfs

パラメーター-su コマンドの実行において、非ログイン (non-login) シェルではなく、ログインシェルを起動することを指示します。 ログインシェルとそうでないシェルの違いについては bash(1)info bash を参照してください。