Squid のセッションヘルパーはどこへ消えたのか?
認証設定を変更する前に、インストール済みパッケージ、文書化されたファイル名、ビルドオプションをたどって、見当たらない Squid ヘルパーを追跡します。
別のサーバーからコピーした設定が ext_session_acl を指定しています。お使いの Squid パッケージには、そのパスにファイルがありません。これはユーザーセッションの破損ではなく、パッケージ構成の不一致かもしれません。
Squid は外部 ACL の判断をヘルパープログラムに委任できますが、external_acl_type にプログラム名を書いてもそれはインストールされません。バイナリは配備された環境に存在している必要があります。
次の三つを比較してください。
- 使用している Squid のリリースに対して文書化されているヘルパー名。
- ディストリビューションのパッケージが実際に提供しているファイル。
- Squid が読み込んだ設定にある実行ファイルの絶対パス。
Debian は ext_session_acl のマニュアルを公開していますが、マニュアルのタイトルが一致しても、コピーしたパスにバイナリがある証明にはなりません。そのインストール自体のパッケージ情報とヘルパーディレクトリを確認してください。
そのパッケージが必要なヘルパーを提供していない場合は、ディストリビューションが対応するパッケージ分割とビルド情報を確認してください。ソースツリーのサブディレクトリ名は、生成されるバイナリがすべてのビルドに含まれる証明ではありません。
「ファイルが無い」と「ファイルはあるが起動できない」を切り分けてください。後者にはインタープリター、共有ライブラリ、権限、サービスの隔離が関わる場合があります。その障害については Squid のヘルパー起動メッセージ を確認してください。どちらの症状も、プロキシユーザーのパスワードが間違っている証拠ではありません。
無関係な古いサーバーのヘルパーは、ファイル名が設定と一致するというだけでは交換できません。