TeamSpeak3のserveradminのパスワードを忘れてしまった場合の対処法
TeamSpeak3のserveradminのパスワードを忘れてしまった場合の対処法について。
音声チャットソフトTeamSpeak3の管理用アカウントとしてserveradminがあるのだけれど、そのログインパスワードを忘れてしまったときの復旧方法について。管理用ログインを使うといろいろなことができるのだけれど、この管理用パスワードは恐らく初回インストール時、初回サーバログイン時に表示されてよくわすれちゃう。どこかのログに残っていそうなきがするのだけれど探しても見つからないし途方に暮れてしまっちゃう。で、そんなアナタに、そんなワタシにserveradminのパスワード復旧法。
まずは元になった記事の紹介。
上記フォーラムの第一投稿にスクリプト(tar.gz)のリンクがあるのでダウンロードして解凍して実行。これでうまくいきます。中にはwindows用とlinux用のスクリプト、batファイルbashスクリプト、それからsqliteのバイナリが入っている。それぞれの環境で実行してやればうまくいくはず。
このスクリプトを実行すると管理者のパスワードをykN+zfqDに変えてくれる。これでこのパスワードを使ってログインする事ができる。管理者でのログイン方法については他の記事を参照してください。
で、もちろん気をつけなければいけないことは、管理者用パスワードをログイン後に変えておくこと、が必要。これは絶対に必要。アナタのTeamSpeak3 serverを守るために必ず行っておいてください。
管理者用のパスワードの変え方については以下の通り。telnetでログインして上記のパスワードでログイン後、”clientsetserverquerylogin client_login_name=serveradmin”を実行する。これで新しいランダムなパスワードが発行される。このパスワードをメモしておきましょう。
login serveradmin ykN+zfqD error id=0 msg=ok</b> clientsetserverquerylogin client_login_name=serveradmin client_login_password=password error id=0 msg=ok
どんなスクリプトなの?
というわけで、管理者のパスワードを書き換えるという結構危ういスクリプトなので中身が気になりました。簡単なスクリプトなので中身を覗いてみることに。
中身はsqliteでのいくつかのSQLの発行している。clientsテーブルのclient_id=1な行をserveradminとしてそこのclient_login_passwordをupdateしている。
UPDATE clients SET client_login_password = "r5oBZ3Z8s8IqjiEJ/k3o9dkSUgU=" WHERE client_id = "1";
更新している内容は恐らくmd5のハッシュだと思われる。ハッシュの元になっているのが先述の”ykN+zfqD”で、このハッシュにアップデートすることでパスワードを変更している。
なるほど、という感じでこれぐらいなら安心できることが確認できました。
FreeBSDとかだとsqliteのデータベースファイルの位置がわかりにくいのだけれど、そこへいって手動でsqliteを実行することでパスワードを更新できた。sudoで変更してあげれるようにしてやらないとダメだけど。
というわけで管理者で無事にログインできるようになります。
この投稿へのトラックバック
トラックバックはありません。
- トラックバック URL
この投稿へのコメント
はじめまして。
先日自分のミスでサーバに接続できなくなってしまい、復旧のためにtelnetでserveradminでログインしようと思いましたが、サーバ稼働用の端末が変更されたときにメモを紛失していまいました。
どうにかならないものかと探している時にこのページに辿り着きました。
ご記載いただいているURLにアクセスしましたが、添付ファイルのリンクが見当たりません。(消されてしまったのでしょうか。。。)
もしご存知でしたら教えて頂ければと思います。
よろしくお願い致します。
こんにちはー。確かにリンク消えてしまっていますね。
僕ももうスクリプトは持っていないので、他のスクリプトを探すか手動でSQLファイルを更新する、となりますね。
力になれなくてすみません。