chsh はユーザのログインシェルを変更する。
これによって、ユーザがログインして最初に実行されるコマンドが決まる。
一般ユーザは自分のアカウントのログインシェルのみを変更できる。
スーパーユーザは全てのアカウントのログインシェルを変更できる。
ログインシェルは、
コマンド名が /etc/shells に記載されていればなんでも良い。
スーパーユーザの場合はこの制限はなく、いかなる値でも指定できる。
機能を制限されたログインシェルを用いているアカウントからは、
ログインシェルを変更できないかもしれない。
この理由から、
/bin/rsh は /etc/shells には書かないほうが良い。
誤って機能が制限されたシェルに変更してしまうと、
ログインシェルを元のものに戻せなくなってしまうからである。
-s オプションを指定しなかった場合は、
chsh は対話的に動作する。
ユーザの現在のログインシェルを表示し、新しい値の入力を促す。
設定値を変更するなら新しい値を入力し、
現在の値を使うなら空行のままリターンキーを押せばよい。
現在のシェルは [ ] 記号の間に表示される。