GNU/Linux >> Linux の 問題 >  >> Linux

Linuxシステムでデフォルトシェルを変更する方法

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シェルを変更する必要があることを理解し、前述の目標を達成するためのいくつかの実用的な方法論を実装しました。


Linux
  1. RHEL7Linuxでシステムロケールを変更する方法

  2. Linuxでシステムホスト名を設定または変更する方法

  3. Linuxでホスト名を変更する方法

  1. Linux端末の色を変更する方法

  2. LinuxシステムのIDを変更する方法

  3. Linux でデフォルトのシェルを変更する方法

  1. Linuxの特定のTtynにログインした後、デフォルトのシェルを(永続的に)変更するにはどうすればよいですか?

  2. Linuxでシェルを変更する方法

  3. Linux でデフォルトのシェルを変更する方法