削除するユーザーのリストがたくさんあります。trac.dbにログインしましたが、ユーザー/パスワードテーブルに似たものが見つかりません。tracは、デフォルトのインストールでユーザーとパスワードをどこに保存しますか?
2 に答える
将来の参考のために: おそらく最も簡単な方法 ( Trac 0.12 以降) を使用することです
$ trac-admin <path-to-trac-env> session list
$ trac-admin <path-to-trac-env> session delete username1 username2 ...
何よりもまず: これまで、Trac にはアカウントでもユーザーでもないという明確な形の概念がありません。「ユーザー名」と呼ばれるものは、基本的に認証されたセッション ID、または「匿名」セッションにマップされた任意の文字列です。
Trac の db schema に関する決定的なリファレンスを見てください:
セッションテーブルには、すべての有効なセッション ID が保持されます。キーは 'sid' + 'authenticated' フラグ (0 = 非認証、1 = 認証済み) であることに注意してください。匿名セッションのユーザーは、必要に応じて、セッション設定を使用して、より覚えやすい別のセッション ID を選択できます。
セッションの主キーがsession_attributeでも外部キーとして強制されているかどうかは、Trac db バックエンドに依存します。これは、特定のセッションの姓名や電子メール アドレスなどの追加属性を保持する、他の関連するテーブルです。ここでも、'sid' + 'authenticated' フラグの組み合わせが主キーです。
匿名セッションは、Trac によって非アクティブな状態がしばらく続くと (セッションテーブルの 'last_visit' にある POSIX 秒/マイクロ秒のタイムスタンプに注意してください)、自動的に削除されますが、認証されたセッションのエントリはそこに永遠に残ります。ほとんどの場合、それらを探しています (SELECT sid,last_visit FROM session WHERE authenticated=1)。
Trac db にパスワード ハッシュはありません。AccountManager の SessionStore のような Trac プラグインのみがパスワード ハッシュ (平文のパスワードであってはなりません) をデータベース (その場合はテーブル 'session_attribute') に保存します。認証設定に応じて、ユーザー資格情報は個別に管理されます。つまり、Trac が実行されている Web サーバーで使用される Apache htpasswd/htdigest 形式のファイル、またはスタンドアロンの Trac 設定の場合は tracd で管理されます。