- ベストアンサー
su できません
/etc/passwd内のrootのログインシェルを書き間違えてしまい,su時に su: No shellといわれてしまいます. 一般ユーザで ln コマンドを使用し,書き間違えたファイル名にして実行しようととしました. しかし,/sbin/ 内のファイルのため,一般ユーザでは書き込めません. また,su -s /sbin/sh としてもできませんでした. どのようにすれば su することができるのでしょうか. 使用しているOSはsoraris7です. なにとぞよろしくお願いします.
- みんなの回答 (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 を書き換えることができましたので、システムの再起動を行ないます。 以上です。 それでは、ガンバッテ復旧してください。
その他の回答 (5)
- tera80
- ベストアンサー率50% (2/4)
困りましたね。 私も色々調べて見ましたが、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の書換手順の詳細が必要なら言ってください。 それではガンバッテ復旧してください。
お礼
回答ありがとうございます. 申し訳ありませんがCDブートからの書き換え手順を教えていただけないでしょうか?
- qaaq
- ベストアンサー率36% (146/404)
>使用しているOSはsoraris7です. とっても古いですね。 >電源を切らずに何とかする方法は,やはりないのでしょうか? 一般ユーザでこれが出来たら、「重大なセキュリティホール」でしょ。 >電源を切るとして,シングルユーザモードで起動しての/etc/passwd 変更は可能なのでしょうか? root のログインシェルが全うに動かない事象は変わらないので、ダメでしょう。 基本的には、#1さんの 手段しかないと思います。 古いsorarisには、shutdown というユーザが設定されていたような記憶があります。 もしこのユーザが存在するなら、安全にshutdown出来るかも知れません。
- agharta
- ベストアンサー率52% (54/103)
uidが0のログインユーザがroot以外に存在するのならば別ですが、 電源を落とさずにということは難しいと思います。 シングルユーザでログインできるのならば、可能性はありますね。 実行する価値はあると思います。 しかし、よくよく考えれば、シャットダウンもできない状態なのですね? sync;sync;sync; stop + A でokプロンプトにするしかないのではないでしょうか。 この辺になると、あまり自信がなくなってきました。 他の方の回答も見た方が良いと思います。
jpir様 回答NO.1のagharta様の対応で良いかと思います。 /etc/passwdファイルのrootの記述の変更は最新の注意をして下さいね。 OSのCDROMからブートして/領域をマウントして/etcに移動し、passwdファイルを修正して下さい。 以上、agharta様の補足です
- agharta
- ベストアンサー率52% (54/103)
すこし、重傷かも知れませんね。 最終手段としては、インストールCD-ROMからミニルートになって、 /etcが入っているディスクをマウントをし、passwdファイルを書き直す 方法があると思います。
補足
回答ありがとうございます. 電源を切らずに何とかする方法は,やはりないのでしょうか? また,電源を切るとして,シングルユーザモードで起動しての/etc/passwd 変更は可能なのでしょうか?
お礼
遅くなって 申し訳ありません. 回答ありがとうございます. 質問なのですが. ok boot cdrom とやるとsolarisにログインした後のような画面となるのでしょうか? そのときに別なコンソールを立ち上げろということですか?
補足
すいません 自己解決しました. 上記のとおりにやった結果無事suすることができました. ありがとうございました.