まあ、これは私がやりたいことではありませんが、Unix / LinuxシステムのShell設定についてさらに学ぶためにこの質問をすることです。だから私が答えたい状況は次のとおりです。
Unix / Linuxシステムは異なるシェルを提供するため、システムにアクセスできるユーザーごとに異なるシェルを構成できます。したがって、Tom、Dick、およびHarryが「Unix」システムを使用する権限を持つ3人のユーザーであり、「Tom」にシェルを使用させるとしましょう。嘚、ディックを使うtcshハリーと一緒に使う強く打つシェル。どうすればいいですか?可能でしょうか?
答え1
まず、有効なシェルがにリストされています/etc/shells
。すべてのユーザーはファイルchsh
でlongを使用してデフォルトのシェルを変更できます/etc/shells
。
次に、シェルを追加したい場合は、/etc/shells
そこからエントリ、特に/bin/shを削除すると、システムが壊れる可能性があります。/bin/login
そこにリストされていないシェルは通常実行されないためです。
詳細については、次を参照してください。chsh(1)、ログイン名.defs(5)とパスワード(5) マニュアルページ。
この機能は長い間使用されてきました(BSD 4.xと思います)。
答え2
はい、ユーザーごとにシェル設定が異なる場合があります。たとえば、コマンドを使用して変更できますchsh
。現在のユーザーのシェルをbashに変更するには(/ bin / bashにあると仮定):
chsh -s /bin/bash [username]
/etc/passwd
ファイルを手動で変更し、そのユーザーのシェルを指定するファイルの部分を変更することもできます。たとえば、
root:*:0:0:System Administrator:/var/root:/bin/sh
/etc/passwdの各行の最後の部分(最後の行の後ろ)は上記の行と似ており、:
そのユーザーのシェルを指定します。
答え3
あなたはそれを使用することができますchsh
!
chsh -s /bin/sh user_name