このような場合、Mac OS Xでは「シングルユーザーモード」でOSを起動して、ユーザーのパスワードを自由に書き換えてログインできるようにすることができます。万が一の場合に便利なのでご紹介いたします。
参考にしたページはこちら。
http://d.hatena.ne.jp/viz3/20091029
1.シングルユーザーモードでMacを起動する
Macの電源を押して起動する際に、キーボードのCommand + Sキーを同時に押しっぱなしにしておくと、シングルユーザーモードで起動することができます。真っ黒な画面に文字がずらずら出てきたら成功です。
2./を読み書き可能にする(再マウントする)
画面上に
If you want to make modifications to files:と表示されているので、ここに表示されているコマンドをそのまま入力します。何やってるかは知りません。多少時間がかかるので気長に待ちましょう。
/sbin/fsck -fy
/sbin/mount -uw /
3.dsclをlocalonlyモードで起動する
お次はdsclというツールを使用します。ですがこのツールそのままでは起動できないようなので(dscl .とタイプするとなにやら警告が出ると思います)、以下のようにしてlocalonlyモードで起動します。
launchctl load /System/Library/LaunchDaemons/com.apple.DirectoryServicesLocal.plist
dscl localonly
4.対象のアカウントのパスワードを書き換える
dsclがlocalonly 対話モードで起動したら、cdコマンドとlsコマンドを利用して対象のアカウントまで移動して・・・
> ls以下のコマンドを入力すればパスワードが書き換わります。
Local
Contact
Search
> cd Local
/Local > ls
Default
Target
/Local > cd Target
/Local/Target > cd Users
/Local/Target/Users > ls
ずらずらとここにアカウント名が羅列されるはず
passwd 対象のユーザー 新しいパスワードたとえばさっきの状態からユーザーakisuteのパスワードをabesiに書き換えたいなら、
passwd akisute abesiです。
5.再起動してログインする
あとは再起動して普通にMacを起動します。
reboot先ほど入力したパスワードでログインできるはずです。
■注意
この方法を用いれば、物理的にアクセス可能な任意のMacの操作権限を奪うことが可能になってしまいます。くれぐれも悪用しないように。
逆に、この方法を用いてアクセスされたくないMacについては、以下のページで紹介されている方法を用いてシングルユーザーモードによる起動を禁止することができます。
Mac OS X 10.1 以降で、ファームウェアのパスワードプロテクションを設定する
■Unixユーザー向け
Mac OS Xのユーザーって、/etc/passwdじゃなくてDirectory Serviceで管理されてるんですねー。最初/etc/passwd以下を調べに行ってハマりました・・・


2 コメント:
MacOS Xのインストールディスクのツール群の中にパスワードリセットのものがあった気がするのですが、あれとはなんか関係あるのでしょうか?
> andrewさん
コメありがとうございます!
はてブのほうでもご指摘あったのですが、インストールディスクにパスワードリセットツールなるものがあるんですね!知らなかったです・・・
おそらくパスワードリセットツールと今回ご紹介した方法にはあんまり関係は無いですが、インストールディスクが利用可能ならそちらを使った方が安全でMacに優しい(?)と思いますので、そちらをお勧めします。
今回はインストールディスクもなかったのでこんな無理矢理な方法をとりました><
(もしあればクリーンインストールしてました)
コメントを投稿