はじめに
このチュートリアルでは、Linuxでユーザーのシェルを変更する方法を紹介します。
シェルは、コマンドを受け入れて解釈するプログラムです。 Linuxで利用できるbash、sh、ksh、zsh、fish、その他多くのあまり知られていないシェルなど、いくつかのシェルがあります。
バッシュ は、Bourneシェルのフリーソフトウェア代替としてのGNUプロジェクト用のUnixシェルおよびコマンド言語です。 1989年に最初にリリースされ、ほとんどのLinuxディストリビューションのデフォルトのログインシェルとして使用されています。
3つの異なる方法でユーザーシェルを変更する方法を説明します。
方法(1):usermodユーティリティ
usermod は、既存のアカウントに関連付けられた情報を変更する、多くのUnixおよびUnixライクなオペレーティングシステムに典型的なコマンドです。
このコマンドを実行するには、通常、管理者(root)権限が必要です
- 最初に、Linuxシステムで使用可能なすべてのシェルを一覧表示します
cat /etc/shells
注: ユーザーは自分のシェルを任意のものに変更できますが、 / etc / shellsにリストされている必要があります ファイル、 / etc / shellsにリストされていないシェルを実行できるのはrootのみです ファイル。
- usermodでは、 -sを使用できます または–shell オプションは、ユーザーのログインシェルを変更するために使用されます。
構文
usermod --sell /bin/[shell] [user]
OR
usermod -s /bin/[shell] [user]
例 :unixcopユーザーのシェルを / bin / bashから変更します / bin / nologinへ このユーザーがサーバーにアクセスできないようにするため
grep unixcop /etc/passwd
usermod --shell /bin/nologin unixcop
grep unixcop /etc/passwd
Method(2):/ etc/passwdファイルのシェルを変更する
したがって、このメソッドでは、手動で編集してユーザーシェルを変更できます。
- つまり、 / etc / passwdを開きます ファイルを作成し、ユーザーシェルを変更します。
vim /etc/passwd
- ファイルを保存して閉じます。
メソッド(3):chshユーティリティ
chsh (「changeshell」の略語)は、ログインシェルを変更するために使用されるUnixライクなオペレーティングシステム上のコマンドです。ユーザーは、コマンドラインで変更するシェルのパス名を指定するか、引数を指定しないことができます。この場合、chshを使用すると、ユーザーはシェルをインタラクティブに変更できます。
構文
chsh --sell /bin/[shell] [user]
OR
chsh -s /bin/[shell] [user]
例:
chsh -s /bin/bash qadry
結論
この記事では、Linuxで特定のユーザーシェルを3つの異なる方法で変更する方法を紹介しました。