はじめに
こんにちは!今回はadd-shellコマンドについて解説します。
add-shellは、ユーザーが使用できるシェルを認可リストに追加するコマンドです。Debian系Linuxで、システムが認可しているシェルのみをユーザーに割り当てるために使います。
セキュリティと管理の観点から、どのシェルがシステムで利用可能かを厳密に管理するのが目的ですね。
add-shellコマンドとは
add-shellは、Debian系Linuxシステムの外部コマンドです。
システム上で使用可能なシェルを/etc/shellsファイルに登録します。新しいシェルをインストールしたときに、このコマンドで認可リストに追加することで、そのシェルをchshコマンドでユーザーが選択できるようにします。
対になるremove-shellコマンドと組み合わせて、シェルの管理を行います。
基本構文
|
|
SHELLには、フルパス(例:/bin/zsh)でシェルのパスを指定します。
主なオプション
add-shellコマンドに特殊なオプションはありません。単純にシェルのパスを引数として指定します。
| 引数 | 説明 |
|---|---|
SHELL |
認可リストに追加するシェルのフルパス |
使用例
例1: bashシェルを追加
|
|
実行結果:
|
|
bashシェルが既に認可されている場合でも、エラーは発生しません。
例2: zshシェルを追加
|
|
実行結果:
|
|
zshをインストール後に、このコマンドで認可リストに追加します。
例3: fishシェルを追加
|
|
実行結果:
|
|
fish シェルを認可リストに追加します。
例4: 認可リストの確認
|
|
実行結果:
|
|
/etc/shellsファイルの内容を表示します。ここに登録されているシェルだけがユーザーに割り当てられます。
例5: ユーザーシェルの変更確認
|
|
実行結果:
|
|
chsh -lで認可されたシェル一覧を表示します。
例6: 新しいシェルを追加してユーザーに割り当て
|
|
実行結果:
|
|
新しいシェルを追加してから、ユーザーのシェルを変更します。
例7: tcshシェルを追加
|
|
実行結果:
|
|
tcshシェルを認可リストに追加します。
例8: kshシェルを追加
|
|
実行結果:
|
|
Korn Shellを認可リストに追加します。
Tips・注意点
rootユーザーのみが実行可能
add-shellはシステム設定ファイルを変更するため、rootユーザーのみが実行可能です。通常ユーザーが実行すると、パーミッションエラーが発生します。
|
|
既に登録されているシェルを追加しても大丈夫
重複登録を試みてもエラーが発生しないか、既に存在することを示すメッセージが表示されます。安全に実行できます。
remove-shellコマンドとセット
シェルを削除する場合は、remove-shellコマンドを使います。
|
|
シェルのパスを確認してから追加
シェルを追加する前に、実際にそのパスにシェルが存在することを確認しましょう。
|
|
実践的な使い方
新しいシェルをインストール後に認可する
|
|
zshをインストールしたら、このコマンドで認可リストに追加することで、全ユーザーが使用可能になります。
サーバー初期構築で複数のシェルを追加
|
|
サーバー初期構築時に、複数のシェルを一括で認可します。
カスタムシェルの導入
|
|
カスタムシェルを導入する際の流れです。
まとめ
add-shellコマンドのポイント:
- ユーザーが使用できるシェルを認可リストに追加するコマンド
/etc/shellsファイルを管理し、セキュリティとユーザー管理を実現- rootユーザーのみが実行可能
remove-shellコマンドで削除- 新しいシェルをインストール後に必ず実行
- よく使う組み合わせ:
add-shell /bin/zsh→chsh -s /bin/zsh
Debian系システムの適切なシェル管理は、セキュリティ面でも重要です。新しいシェルを導入するときは、必ずこのコマンドで認可するようにしましょう!