/etc/passwd内のrootのログインシェルを書き間違えてしまい,su時に su: No shellといわれてしまいます.
一般ユーザで ln コマンドを使用し,書き間違えたファイル名にして実行しようととしました.
しかし,/sbin/ 内のファイルのため,一般ユーザでは書き込めません.
また,su -s /sbin/sh としてもできませんでした.
どのようにすれば su することができるのでしょうか.
使用しているOSはsoraris7です.
なにとぞよろしくお願いします.
こんばんは
okプロンプトからの説明です。
ok boot cdrom (OSのCDROMからminirootを起動します。)
installwindowが出ますが、それは無視してworkspaceにコマンドツールを起動させる。(マウスの右ボタンより選択します。)
#
# mkdir /tmp/a
# mount -F ufs /dev/dsk/c0t3d0s0 /tmp/a
※^^^^^^^^^^^^^^^
※/dev/dsk/c0t3d0s0の部分は、OS がインストールされているディスクの/パーティションをマウントして下さい。
# cd /tmp/a/etc
# vi passwd
書き間違えた部分を修正します。(/sbin/shへ)
:wq!
#
# cd /
# umount /tmp/a
これで、/etc/passwd を書き換えることができましたので、システムの再起動を行ないます。
以上です。
それでは、ガンバッテ復旧してください。
すこし、重傷かも知れませんね。
最終手段としては、インストールCD-ROMからミニルートになって、
/etcが入っているディスクをマウントをし、passwdファイルを書き直す
方法があると思います。