忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【LPICレベル1】ユーザーの玄関口を決定する!「ログインシェルと/etc/passwd」|情報処理問題1000本ノック

Linuxシステムにユーザーがログインした際、最初に自動起動してコマンド入力を待ち受けるシェルを「ログインシェル」と呼びます。このログインシェルがどこで定義されているかをしっかりと整理しましょう。

1. 問題:ログインシェルの設定ファイル

【 問題 】 各ユーザーがログインした直後に起動する「ログインシェル」の情報が保存されている、Linuxの重要な設定ファイルはどれでしょうか?

ア、/etc/shells  
イ、/etc/profile  
ウ、/etc/passwd  
エ、/etc/login.defs

2. 正解:ログインシェルの参照先に関する正解

正解: ウ、/etc/passwd

3. 解説:ユーザー情報の基本中の基本

`/etc/passwd` ファイルは、システム上の全ユーザーのアカウント情報が1行ずつ記録されている、テキスト形式の非常に重要な設定ファイルです。

【図解:/etc/passwd の構造】

ファイルの中身は 「 : 」(コロン) で区切られた7つのフィールドで構成されています。

(例) lpi-user:x:1001:1001::/home/lpi-user:/bin/bash

1. ユーザー名(lpi-user)
2. パスワード(x:現在は/etc/shadowに暗号化されて保管されるため通常は「x」)
3. ユーザーID(UID)(1001)
4. グループID(GID)(1001)
5. コメント欄(GECOS)(空欄も可)
6. ホームディレクトリ(/home/lpi-user)
7. ログインシェル ★今回の正解(/bin/bash)
[ 補足:他の選択肢の役割 ]
/etc/shells:システムで利用可能な「有効なシェル」の一覧が書かれたファイルです。
/etc/profile:ログイン時に全ユーザーに共通して適用される環境変数などのシステム全体の設定ファイルです。

1. 理解のコツ: ログインシェルは、`/etc/passwd` の一番最後(7番目)の項目に絶対パスで書かれています。ここを `/bin/bash` から `/bin/zsh` に書き換えたり、`chsh` コマンドを使うことで、ログイン時のシェルを変更することができます。
2. 試験対策 of 視点: LPICでは、`/etc/passwd` の各フィールドの意味(何番目が何の情報か)を順番通りに答えさせる問題が多発します。特に「6番目=ホームディレクトリ」「7番目=ログインシェル」の組み合わせは、セットで確実に暗記しておきましょう。


4. まとめ

ログインシェルは、ユーザーがLinuxと対話するための最初の窓口です。そして、その設定は `/etc/passwd` の最後に刻まれています。もしユーザーにログインさせたくない(サービス専用アカウントなど)場合は、ログインシェルを `/bin/false` や `/sbin/nologin` に設定するという実務テクニックも合わせて覚えておくとバッチリです!


PR