電子書籍の厳選無料作品が豊富!

/etc/passwd内のrootのログインシェルを書き間違えてしまい,su時に su: No shellといわれてしまいます.
一般ユーザで ln コマンドを使用し,書き間違えたファイル名にして実行しようととしました.
しかし,/sbin/ 内のファイルのため,一般ユーザでは書き込めません.
また,su -s /sbin/sh としてもできませんでした.

どのようにすれば su することができるのでしょうか.


使用しているOSはsoraris7です.

なにとぞよろしくお願いします.

A 回答 (6件)

こんばんは


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 を書き換えることができましたので、システムの再起動を行ないます。

以上です。
それでは、ガンバッテ復旧してください。

この回答への補足

すいません 自己解決しました.
上記のとおりにやった結果無事suすることができました.

ありがとうございました.

補足日時:2006/08/12 18:35
    • good
    • 0
この回答へのお礼

遅くなって 申し訳ありません.
回答ありがとうございます.

質問なのですが.
ok boot cdrom
とやるとsolarisにログインした後のような画面となるのでしょうか?
そのときに別なコンソールを立ち上げろということですか?

お礼日時:2006/08/11 19:21

困りましたね。


私も色々調べて見ましたが、Solaris7では皆様の回答の通り、rootのパスワードがわからなくなった場合などと同様にCD-ROMから起動し、/(root)パーティションをmountし/etc/passwdを変更するしかないようです。

余談になってしまいますが、Solaris9より新規機能として、rootユーザのみ代替えシェルが使用できる機能が追加されたみたいです。
つまり、Solaris9以上ではご質問のようにシェルを書き間違えた場合に自動で/sbin/shが選択され、CD-ROMからの起動を必要としなくなりました。

[solaris9での使用例です]
% su
Password:
su: シェル/sbin/cshがありません。
代替シェル/sbin/shを使用します。

参考にならなくて、すみません。
もし、CDブートから/etc/passwdの書換手順の詳細が必要なら言ってください。
それではガンバッテ復旧してください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます.

申し訳ありませんがCDブートからの書き換え手順を教えていただけないでしょうか?

お礼日時:2006/07/20 01:37

>使用しているOSはsoraris7です.



とっても古いですね。

>電源を切らずに何とかする方法は,やはりないのでしょうか?

一般ユーザでこれが出来たら、「重大なセキュリティホール」でしょ。

>電源を切るとして,シングルユーザモードで起動しての/etc/passwd 変更は可能なのでしょうか?

root のログインシェルが全うに動かない事象は変わらないので、ダメでしょう。

基本的には、#1さんの 手段しかないと思います。

古いsorarisには、shutdown というユーザが設定されていたような記憶があります。
もしこのユーザが存在するなら、安全にshutdown出来るかも知れません。
    • good
    • 0

uidが0のログインユーザがroot以外に存在するのならば別ですが、


電源を落とさずにということは難しいと思います。

シングルユーザでログインできるのならば、可能性はありますね。
実行する価値はあると思います。

しかし、よくよく考えれば、シャットダウンもできない状態なのですね?

sync;sync;sync;

stop + A
でokプロンプトにするしかないのではないでしょうか。

この辺になると、あまり自信がなくなってきました。
他の方の回答も見た方が良いと思います。
    • good
    • 0

jpir様


回答NO.1のagharta様の対応で良いかと思います。
/etc/passwdファイルのrootの記述の変更は最新の注意をして下さいね。
OSのCDROMからブートして/領域をマウントして/etcに移動し、passwdファイルを修正して下さい。
以上、agharta様の補足です
    • good
    • 0

すこし、重傷かも知れませんね。



最終手段としては、インストールCD-ROMからミニルートになって、
/etcが入っているディスクをマウントをし、passwdファイルを書き直す
方法があると思います。

この回答への補足

回答ありがとうございます.

電源を切らずに何とかする方法は,やはりないのでしょうか?
また,電源を切るとして,シングルユーザモードで起動しての/etc/passwd 変更は可能なのでしょうか?

補足日時:2006/07/19 12:56
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!