カテゴリ: Linux 更新日: 2026/04/01

Linuxの/etc/shellsとは?初心者でもわかる使用可能シェル一覧ファイルの仕組みと確認方法

Linuxの/etc/shellsとは?使用可能シェル一覧ファイル
Linuxの/etc/shellsとは?使用可能シェル一覧ファイル

先生と生徒の会話形式で理解しよう

生徒

「Linuxでログインシェルってよく聞くんですが、どこで設定されているんですか?」

先生

「それは/etc/shellsというファイルが関係しています。Linuxで使えるシェルの一覧が書かれている重要な設定ファイルです。」

生徒

「シェルの一覧ですか?bashやzshもそこに書かれているんですか?」

先生

「その通りです。どのシェルが使用可能かをシステムが判断するための大切な情報ですよ。」

1. /etc/shellsとは?Linux初心者向けにわかりやすく解説

1. /etc/shellsとは?Linux初心者向けにわかりやすく解説
1. /etc/shellsとは?Linux初心者向けにわかりやすく解説

/etc/shellsは、Linuxにおいて利用可能なシェル一覧を記録した設定ファイルです。

読み方は/etc/shells(エトセシェルズ)と読みます。

このファイルには、bashzshなどのシェルプログラムのパスが記述されており、ログイン時やユーザー設定の際に参照されます。

Linuxでは、シェルはコマンドを入力するための窓口のような存在であり、初心者にとってはターミナル操作の基本となります。

2. シェルとは何か?bashやzshとの関係

2. シェルとは何か?bashやzshとの関係
2. シェルとは何か?bashやzshとの関係

シェルとは、ユーザーとLinuxカーネルの間で命令をやり取りするソフトウェアです。

代表的なシェルには以下があります。

  • bash(バッシュ)
  • zsh(ズィーシェル)
  • sh(シェル)

これらのシェルはすべて、/etc/shellsに登録されていることで「使用可能」として扱われます。

つまり、このファイルに記載されていないシェルは、ログインシェルとして設定できない場合があります。

3. /etc/shellsの中身を確認する方法

3. /etc/shellsの中身を確認する方法
3. /etc/shellsの中身を確認する方法

実際に/etc/shellsの内容を確認してみましょう。


cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/zsh
/usr/bin/sh

このように、シェルの実行ファイルのパスが一覧で表示されます。

この一覧に含まれているシェルのみが、ユーザー設定で使用可能になります。

4. /etc/shellsが使われる場面とは?

4. /etc/shellsが使われる場面とは?
4. /etc/shellsが使われる場面とは?

/etc/shellsは主に以下の場面で利用されます。

  • ユーザーのログインシェル設定
  • FTPやSSHのアクセス制御
  • chshコマンドでのシェル変更

特にchshコマンドでは、このファイルに登録されているシェルしか選択できません。


chsh -l
/bin/sh
/bin/bash
/usr/bin/zsh

このように、使用可能なシェル一覧が表示されます。

5. シェルを変更する方法と/etc/shellsの関係

5. シェルを変更する方法と/etc/shellsの関係
5. シェルを変更する方法と/etc/shellsの関係

ログインシェルを変更するには、chshコマンドを使用します。


chsh -s /bin/bash
Changing shell for user
Shell changed.

ここで指定するパスは、必ず/etc/shellsに記載されている必要があります。

もし存在しないパスを指定すると、エラーになることがあります。

6. /etc/shellsを編集する方法と注意点

6. /etc/shellsを編集する方法と注意点
6. /etc/shellsを編集する方法と注意点

新しいシェルを追加した場合は、/etc/shellsに手動で追加する必要があります。


vi /etc/shells
# 以下を追加
/usr/local/bin/fish

ただし、この操作はrootユーザー権限が必要です。

誤って編集するとログインできなくなる可能性があるため、初心者は慎重に扱いましょう。

7. /etcディレクトリとは?設定ファイルの基本知識

7. /etcディレクトリとは?設定ファイルの基本知識
7. /etcディレクトリとは?設定ファイルの基本知識

/etcは、Linuxの設定ファイルが集まるディレクトリです。

読み方は/etc(エトセ)です。

この中には、ネットワーク設定やユーザー情報など、システムの動作に関わる重要なファイルが多数存在します。

/etc/shellsもその一つであり、システム全体で使用される共通設定です。

8. 初心者が覚えておきたいポイント

8. 初心者が覚えておきたいポイント
8. 初心者が覚えておきたいポイント

Linux初心者が理解しておきたいポイントを整理します。

  • /etc/shellsは使用可能シェルの一覧ファイル
  • bashやzshもここに登録されている
  • chshコマンドで変更する際に参照される
  • 編集にはroot権限が必要

このファイルの役割を理解すると、Linuxのユーザー管理やシェル設定がぐっとわかりやすくなります。

まとめ

まとめ
まとめ

本記事では、Linuxにおける重要な設定ファイルである/etc/shellsについて、初心者にも理解しやすいように丁寧に解説してきました。 /etc/shellsは、システムで使用可能なシェル一覧を管理するファイルであり、ユーザーのログイン環境やシェル変更の可否に深く関わる重要な役割を持っています。 特にLinux初心者にとっては、bashやzshといったシェルの違いや役割を理解する第一歩として、このファイルの存在を知ることは非常に有益です。

Linuxでは、シェルは単なるコマンド入力の窓口ではなく、ユーザーとシステムをつなぐインターフェースとして機能します。 そのため、どのシェルが利用できるかを定義している/etc/shellsは、セキュリティやユーザー管理の観点からも重要視されています。 例えば、FTPやSSH接続の制御、ユーザーごとのログインシェル設定など、多くの場面でこのファイルが参照されます。

また、chshコマンドを使用してログインシェルを変更する際には、必ず/etc/shellsに登録されているシェルのみが対象となるため、 システム管理者や開発者にとっても理解しておくべき基本知識となります。 仮に新しいシェルを導入した場合でも、このファイルにパスを追加しなければ利用できない点は特に重要なポイントです。

さらに、/etcディレクトリ自体がLinuxの設定ファイルを集約する場所であることも理解しておくと、システム全体の構造がより明確になります。 Linux環境を効率的に扱うためには、このような設定ファイルの役割と関連性を理解することが不可欠です。

理解を深めるための確認コマンド


cat /etc/shells
chsh -l

上記のコマンドを実際に実行することで、自分の環境でどのシェルが利用可能かを確認できます。 実践を通じて学ぶことで、Linuxコマンドやシステム構造への理解がさらに深まります。

シェル変更の基本例


chsh -s /bin/bash

このように、Linuxではシンプルなコマンドでログインシェルを変更できますが、その裏側では/etc/shellsがしっかりと制御を行っています。 この仕組みを理解することで、エラーの原因特定や環境構築の効率化にもつながります。

先生と生徒の振り返り会話

生徒

「今回の記事で、/etc/shellsがすごく重要なファイルだとわかりました。単なる一覧ではなくて、使えるシェルを管理しているんですね。」

先生

「その通りです。Linuxでは自由度が高い分、どのプログラムを使えるようにするかを明確に管理する必要があります。その役割を担っているのが/etc/shellsです。」

生徒

「chshコマンドでシェルを変更するときに、このファイルが関係しているのも理解できました。登録されていないと使えないんですね。」

先生

「はい、その制限があることでシステムの安全性も保たれています。特に複数ユーザーが利用する環境では重要な仕組みです。」

生徒

「/etcディレクトリの役割もイメージできるようになりました。他の設定ファイルも見てみたくなりました。」

先生

「とても良いですね。Linuxは設定ファイルを理解すると一気にレベルが上がります。今回の内容をきっかけに、ぜひ他の設定ファイルにも挑戦してみてください。」

関連記事:
カテゴリの一覧へ
新着記事
New1
Linux
Linuxの/etc/shellsとは?初心者でもわかる使用可能シェル一覧ファイルの仕組みと確認方法
新規投稿
New2
基本情報技術者試験
ユニキャストとは?初心者でもわかる1対1の通信の仕組みをやさしく解説
更新記事
New3
基本情報技術者試験
ブロードキャストとは?初心者にもわかるネットワーク通信の基本用語を解説!
更新記事
New4
Linux
Linuxの/etc/profile.dとは?ログイン時に読み込まれるスクリプトの仕組みを初心者向けに徹底解説
新規投稿
人気記事
No.1
Java&Spring記事人気No1
基本情報技術者試験
イーサネット(Ethernet)とは?初心者にもわかるLANの基本技術をやさしく解説
No.2
Java&Spring記事人気No2
基本情報技術者試験
NIC
232
NICとは何か?初心者にもわかるネットワークインターフェースカードの基本
No.3
Java&Spring記事人気No3
基本情報技術者試験
16進数とは?初心者にもわかる意味・読み方・変換方法をやさしく解説!
No.4
Java&Spring記事人気No4
基本情報技術者試験
セグメントとは?ネットワークの基本単位を初心者向けにやさしく解説
No.5
Java&Spring記事人気No5
基本情報技術者試験
パケットとは?初心者にもわかりやすくネットワークの仕組みをやさしく解説!
No.6
Java&Spring記事人気No6
基本情報技術者試験
IMAP
115
IMAPとは?初心者でもわかるメール受信プロトコルの仕組みと使い方
No.7
Java&Spring記事人気No7
基本情報技術者試験
IPv4
107
IPv4とは?初心者でもわかるIPアドレスの基本と通信のルール
No.8
Java&Spring記事人気No8
基本情報技術者試験
CGIとは?初心者でもわかるWebとプログラムのつながりを解説!