何千人ものユーザーがログインしているサーバーでは、管理者はいくつかの基本を見落としているようです。私のデフォルトのシェルは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