/etc/bash.bashrc:シェル起動時に全ユーザー共通で読み込まれる設定ファイル

/etc/bash.bashrc

/etc/bash.bashrcについての概要と詳細

/etc/bash.bashrcとは

/etc/bash.bashrc は、すべてのユーザーの対話型・非ログインシェルに対して適用されるグローバルな設定ファイルです。
主にターミナルエミュレータやGUI環境の端末で新しくシェルが開かれたとき(非ログインシェル)に実行されます。ユーザーの ~/.bashrc と同様の役割ですが、システム全体に影響する点が異なります。

主な役割

  • 全ユーザー共通のエイリアスや関数の定義
  • シェルプロンプト(PS1)のカスタマイズ
  • ヒストリの設定
  • コマンド補完の有効化(bash-completion)
  • カラースキームやコマンドの装飾設定

読み込まれるタイミング

/etc/bash.bashrc は、以下のような「非ログインかつ対話的なシェル」で読み込まれます:

  • GUI端末(例:GNOME Terminal, Konsole)を起動したとき
  • bash コマンドで新しいシェルを開始したとき
  • スクリプト以外の対話的操作における新規シェル

存在するディストリビューション

  • Debian/Ubuntu系:デフォルトで存在し、ユーザーの ~/.bashrc から明示的に呼び出される
  • Red Hat系(Fedora/CentOS/Rockyなど):標準では存在しないが、手動作成で機能する

内容の例

# /etc/bash.bashrc の例(Debian/Ubuntu)

# エイリアスの定義
alias ll='ls -alF'
alias grep='grep --color=auto'

# プロンプトの色設定
PS1='[\u@\h \W]\$ '

# bash-completion の有効化
if [ -f /etc/bash_completion ]; then
  . /etc/bash_completion
fi

ユーザーとの連携

通常、ユーザーの ~/.bashrc も同時に使用され、システム共通の設定(/etc/bash.bashrc)の上に個別のカスタマイズが重ねられます。
そのため、システム管理者は共通設定を /etc/bash.bashrc に、個人ユーザーは ~/.bashrc に設定するのが一般的です。

編集の注意点

  • このファイルの変更はすべてのユーザーに影響します。
  • スクリプトやログイン処理に影響しないよう、コマンドは極力安全に書くことが推奨されます。
  • 動作確認には、新しい端末ウィンドウを開くのが確実です。

まとめ

/etc/bash.bashrc は、全ユーザーに共通する対話型非ログインシェルの設定を行うための便利なファイルです。
ユーザー環境を統一したり、共通のカスタマイズを提供したりする際に役立ちます。設定の重複や競合を避けるためには、~/.bashrc との役割分担を意識することが重要です。