Ubuntuでroot権限のシェルを間違えて変えてしまった時の対処法

やらかしたのと強引に戻せたのでメモ

・前提条件
ミスって切り替えたシェルは実用的には何もできないshellである。
ユーザはメインのユーザ(sudoers,非root)とシェル設定予定だったユーザがあること。
というかsudoersでまともな状態のユーザがひとつログインできること。
rootのパスは未設定(blank)

・やらかしたこと

とある課題のために、独自シェル(ほぼ何もできない)をuser名hogeのログインシェルに設定するつもり。
で、
/bin/hoge というシェルを置いたのはいいが、間違えてroot権限のままchshで切り替えた上でexit。当然再度rootになろうとしても独自シェルなので何もできない。詰む

・戻し方
とりあえずsudo bashでrootっぽくなる。
ただ、sudo suと違い、chshでパスワード要求されるし、passwdしても保存はされない
(成功とか言うけど、chshでパスワード打っても駄目)
どうやらパスワード絡みの特権はsudoじゃなくてちゃんとsuしないと駄目らしい。

ということで、間違えて切り替えちゃった/bin/hogebashで置き換えちゃいましょう。
適当にln -s /bin/bash /bin/hoge っていう感じで貼っときゃおk
そうすればsudo suで入れるようになるはず。あとはもう一回chshで戻す。

                                  • -

ログインシェル弄るときは気をつけましょう。