web-dev-qa-db-ja.com

Squid3プロキシはログファイルを書き込めません

RasbianにSquid3をインストールし、いくつかのマイナーな構成を行いました。次に、自動マウントUSBドライブにキャッシュするように設定しました。

ログを調べていたところ、TCP_MISSしか見つかりませんでした。 Squidを少し使った後、いくつかのヒットが見られることを期待していました。キャッシュを調べたところ(ufsツリーがあります)、ファイルがキャッシュされているようです。

squid -X -d9を実行したところ、ログファイルを書き込めないというエラーが発生しました。

FATAL: Cannot open '/var/log/squid3/access.log' for writing.
The parent directory must be writeable by the
user 'proxy', which is the cache_effective_user
set in squid.conf.
Squid Cache (Version 3.1.20): Terminated abnormally.

/var/log/squid3の権限は次のとおりです。

drwxrwxr-x  2 proxy proxy   4096 Apr 29 14:13 squid3

と内部:

-rwxrwx--- 1 proxy proxy      0 Apr 29 06:25 access.log
-rwxrwx--- 1 proxy proxy 303469 Apr 28 23:41 access.log.1
-rwxrwxrwx 1 proxy proxy  14730 Apr 29 14:47 cache.log
-rwxrwx--- 1 proxy proxy  79626 Apr 28 22:00 cache.log.1
-rwxrwx--- 1 root  root       0 Apr 27 14:09 store.log.1

/cache0にマウントされたキャッシュの権限

drwxrwxr-x  19 root proxy  4096 Apr 29 14:47 cache0

これらのエラーを解決するにはどうすればよいですか?前もって感謝します。

1
jason

デフォルトのsquidユーザーproxyには、親から書き込み先のすべてのディレクトリへの書き込み権限が必要です。キャッシュディレクトリ(cache_dir)とログファイルを含みます。

/varまたは/var/logのアクセス許可を変更したくなかったので、新しいディレクトリ/squid3_logsを作成し、ログの場所をsquid.confに設定しました。

access_log /squid3_logs/access.log squid
cache_store_log /squid3_logs/store.log
cache_log /squid3_logs/cache.log

また、キャッシュ(/cache0)内のすべてのファイルとサブディレクトリに適切な権限があることを確認しました。ユーザーとしてデバッグコマンドsquid -X -d9を実行すると、swap.stateの所有者が自動的に変更されたと思います。

Sudo chown proxy:proxy /cache0/swap.state
Sudo chmod -R 775 /cache0

今、すべてが機能しているようです。 debugコマンドを実行したとき、または構成ファイル(squid3 -k parse)を解析したときに、エラーが見つかりません。

2
jason

最初に所有者をプロキシに変更してから、以下に示すようにsquid.confにユーザーを追加します。Sudochownproxy:proxy/usr/local/squid -R

パーミッションエラーの場合は、squid.confでcache_effective_userを設定し、squidを再起動するだけです。 /usr/local/squid/etc/squid.conf

cache_effective_userプロキシ

この設定は私の問題を解決しました

0
Muhammad Ashraf