Linuxオペレーティングシステム環境では、シェル コンピュータのキーボードからコマンドの形式でユーザー入力を受け取り、それらを解釈して、即時の実行結果を生成したり、別のプログラム実行インスタンスに導いたりするプログラムとして説明できます。
Linuxに慣れてくると、bash、ksh、fish、sh、zshなどの多くのLinux指向のシェル環境に出会い、対話する機会が得られます。 Bash Shellの人気により 、Linuxシステムのデフォルトシェルとして現在使用している可能性が高いです。
Linuxでデフォルトシェルを変更する理由
次の理由により、デフォルトのLinuxシェルを変更することを選択することは理にかなっています。
- Linuxシェルのようなnologin シェルは通常のユーザーログインを簡単に無効化/ブロックするため、Linuxのユーザー管理の重要な側面です。
- シェルラッパープログラム/スクリプトを使用すると、ユーザーがログに記録するまでユーザーコマンドの実行を遅らせることができます。この場合、ユーザーログインシェルはシェルラッパーに固有です。
- 共有ネットワークでは、Linuxのデフォルトのシェルを変更するときに、管理者権限に関連するものなど、特定のユーザーの要求に応えます。
Linuxシステムでの有効なログインシェルの一覧表示
Linuxシステムでデフォルトのシェルを変更することを検討する前に、まずLinuxOSで使用できる有効なログインシェルをリストしてください。
$ cat /etc/shells

先に進み、あるLinuxシェルから別のLinuxシェルに切り替える方法を示す前に、次の点に注意してください。
- / etc / shellsにリストされているシェルのみ ファイルは、通常のログインしているLinuxユーザーが切り替えることができます。
- / etc / shellsにリストされていないシェル ファイルは、root/sudoerユーザーのみが実行/実行できます。
- ログインシェルが制限されているLinuxOSアカウントは、root/sudoerユーザーとしてサインインした後でのみ変更できます。
デフォルトのLinuxシェルを変更する方法
デフォルトのシェルを変更するための次のアプローチを検討します。 Linuxの場合。
方法1:usermodユーティリティを使用する
usermodの主な用途 ユーティリティは、 / etc / passwdに保存されているLinuxユーザーアカウントの詳細を変更するためだけのものです。 ファイル。 usermodの使用 -s
と一緒にコマンド または--shell
コマンドオプションを使用すると、デフォルトのLinuxシェルを変更できます。
次のコマンドは、ユーザー dnyceのデフォルトシェルなどのアカウント情報を確認します。 。
$ grep dnyce /etc/passwd

ご覧のとおり、 dnyce ユーザーはデフォルトのLinuxシェルとしてbashを使用しています。 / bin / bashから変更するには / bin / dashへ 、次のコマンドを実行します:
$ sudo usermod --shell /bin/dash dnyce

方法2:chshユーティリティの使用
chsh ユーティリティコマンドも-s
を使用します または--shell
デフォルトのLinuxシェルを変更する際のオプション。
現在のシェルを/bin / dashから変更しましょう / bin / rbashへ 。
$ sudo chsh --shell /bin/rbash dnyce

方法3:/ etc/passwdファイルを使用する
/ etc / passwdを開きます ファイルを作成し、お好みのデフォルトのLinuxシェルに編集します。
$ sudo nano /etc/passwd

ファイルを保存し、次のコマンドで変更が行われたことを確認します。
$ grep dnyce /etc/passwd

デフォルトのLinuxシェルを変更する必要があることを理解し、前述の目標を達成するためのいくつかの実用的な方法論を実装しました。