/etc/shellsが見つからない場合は、ログインシェルを設定してください。

/etc/shellsが見つからない場合は、ログインシェルを設定してください。

何千人ものユーザーがログインしているサーバーでは、管理者はいくつかの基本を見落としているようです。私のデフォルトのシェルはcshです。 bashを使用したいがchsh/etc/shellsが存在しないため、エラーが発生します。雪上では、私の2番目の考えは、コンピュータで利用できないusermodでした。

確かな解決策は/etc/shellsを生成することですが、私は管理者ではなく、そのような問題に反応しないようです。

chshまたはusermodを使用する以外に、デフォルトのシェルを設定する他の方法はありますか?そうでなければ、/usr/bin/bash -lログインするたびに実行するよりも良い方法がありますか?

答え1

ログインすると、csh が制御を bash に転送するようにします。これをあなたの.login

if ($?prompt == 0) then
  : # non-interactive shell, be conservative
else if (-x /usr/bin/bash) then
  exec /usr/bin/bash --login
fi

関連情報