2009年7月11日土曜日

Administratorのパスワードを削除する

誰でもやってしまうミスの一つにAdministratorのパスワードが分からなくなることがある。そのときの復旧方法を記載する。思ったより簡単。

[注意]
本項の内容は十分に検証していますが、この手の作業は一つのミスが命取りに(つまりパソコンが起動不能に)なります。したがってたとえ記載した内容の通りに作業を行ってパソコンが起動できなくなったとしても、それは当方の知ったことではありませんし、その原因は作業を行った本人にあります。
[注意以上]

この意味がよく分かる人は続きをご覧ください。



(補足)へましなければ、まず問題ありません。

まずは理研かどこかからknoppixのCDイメージを拾ってきてCD-Rに焼き付ける。

BIOSを設定し、CDから起動できるようにする。

CDドライブに先ほど焼いたCDを投入してknoppixを起動。

しばらくするとデスクトップ画面になるので画面左下のコンソールだかターミナルだか、を開く(確かターミナル)。

いろいろ操作するので管理者権限を持つ必要がある。

su -

これでいろいろ出来るようになる(逆に危険でもある。レジストリを変更するのと同じで、基幹部分を簡単に弄れる状態は重大な危険を伴う。必要最低限のことを手短に行うべき)。

次に問題のハードディスクを操作できるようにマウントする。

mount -w -t ntfs /dev/sda1 /media/sda1

-wは書き込みを許可するオプション。
-tはファイルシステム(フォーマット形式)の指定。通常はNTFSなのでこれを指定する。
最近のパソコンならばシリアルATAが主流なのでsda1となる。

古いパソコンは例えば次のようにすればよい。

mount -w /dev/hda1 /media/hda1

先の例とは2点の変更がある。
一つはフォーマット形式がNTFSではなくFAT32になること(したがってファイルシステムの指定を行うオプションを外した)、さらにパラレルATA(IDE)接続なのでsda1ではなくhda1とした。

mountコマンドは既存のデータに害を与えないので一つやってうまくいかなかったらもう一度、と進めるとよい。失敗したときのエラーメッセージは意味が分からなくても読んでおくとよい(場合によっては辞書を片手に)。

Linuxの特徴の一つとしてコマンドの実行に失敗したらエラーメッセージを表示し、成功したら何も表示しない点が挙げられる。慣れるまでは違和感があるかもしれない。

mountがうまく出来たら問題のファイルを削除する準備に取り掛かる。Windowsの重要なファイルが格納されているフォルダ(Linuxではフォルダのことをディレクトリというが)に移動する。

cd /media/sda1/winnt/system32/config

場合によっては"winnt"は大文字で"WINNT"かもしれない。同様に"system32"も"SYSTEM32"かもしれない。Linuxでは大文字と小文字の区別を行うので注意を要する。Windowsではパスワードを除いてファイル名だろうとユーザ名だろうと大文字と小文字を混同するが、Linuxではそのようなことはない。

また目的のファイルをいきなり削除しないのは、誤って本来消すべきでないファイルを消さないための予防手段である。Windowsは一旦ごみ箱という特殊なフォルダに削除したファイルを保存してくれる(それでもネットワーク上に存在する、例えばネットワークドライブのファイルはごみ箱に保存されずに一発で削除されてしまう。ただしサーバーの側でボリュームシャドウコピーが設定されていれば、多くの場合ある時点―削除する前―のファイルを復活できる))。
Linuxでは消せといわれたら即座に消すので安易に削除はしないほうがいい(このことは「削除せずにファイル名を変更する」という箇所で再び登場する)。

正しいディレクトリに移動したかどうかを確認するためにディレクトリの中身を表示する。

ls

これでこのディレクトリの内容が一覧となって表示される。

system.LOG
SAM
default
SECURITY
default.sav
system

等というファイル(実際には他にもたくさんファイルがある)が表示されれば間違っていないだろう。問題のファイルはここに含まれている"SAM"というファイルである。これを削除してしまえばAdministratorのパスワードは消えてしまう。ファイルを直接消すという手もあるが、害のない別のファイル名にしてしまう方が安全である。なぜなら万が一にも必要なファイルであったときに削除してしまうと復旧ができない。ファイル名を変更するだけならファイル名を元に戻すことで完全に以前の状態を復元できる。このために削除するよりもファイル名を変更してしまう方が確実である。

mv SAM _SAM

ここで"mv ./SAM ./_SAM"と入力して実行しても良い。"./"は現在のディレクトリ(ここでは/media/sda1/winnt/system32 /config)を指す。mvコマンドも含めて通常は現在のディレクトリを特に明示する必要はないので"mv SAM _SAM"でもよいのだが、どのディレクトリなのかを明示した方が確実だし安全だと考える。なおいずれにしてもmvコマンドは元々ファイル名を変更するというよりはファイルを移動するコマンド(mvはmoveの略)であるが、同一ディレクトリの中で実行すればファイル名の変更になる。つまりこの場合は SAMというファイルが_SAMというファイル名に変わる(ファイルの内容自体には当然ながら変更はない)。

最後に確かにファイル名が変更されたかどうかを確認する。

ls

現在のディレクトリについて強い意識を持ちたければ"ls ./"とすればよい。いずれにしても先と比べてSAMというファイルが_SAMというファイル名に変更されて残りは同一であるはずである。

system.LOG
_SAM
default
SECURITY
default.sav
system

これが確認できたらknoppixをシャットダウンする。

shutdown -h now

あとはCDドライブからknoppixを取り出してHDDから通常起動すればよい。ユーザ名Administratorに対してパスワードが消滅している筈である。

補足【Windows XP Home Editionについて】
Windows XP Home Editionでは標準でAdministratorが無効となっており、ログインすらできない。しかしパソコンを買って(あるいはOSをインストールして)以来、Administratorのパスワードを設定した覚えはないはずである。そして事実Administratorのパスワード設定は行われていない。実はセーフモードで起動するとAdministratorが有効になるのだがパスワードはユーザが設定しない限り空白のままだ。Windows XP Home Editionを使っている人は至急セーフモードで起動してAdministratorのパスワードを設定するべきである。
※噂によるとXP(Home Edition)はこの記事が役に立たないらしい。

補足【Administratorについて】
Linux ではrootに相当するユーザであり、管理者権限が与えられている。何でも実行できるので重宝する故、普段からAdministratorを使用している人がいると思われる。しかしこれはあまり良いことではない。もし日常から管理者権限を持っていたければ、管理者権限を持つ別のユーザを作って普段はそれを利用するほうが好ましい(本来はこれも推奨されず、普段は管理者の権限を持たないユーザを利用するべき)。いずれにしても通常は Administratorというユーザを無効にしておいた方がいい。何かの時にまず攻撃を受けるのはユーザ名"Administrator"なので、突破される可能性が非常に高くなる。

0 件のコメント: