私はmemcached.conf
以下を持っています:
# -l 127.0.0.1
# -p 11211
私の意図は、UNIXソケット以外のものを介してサービスを使用しないため、すべてのTCPまたはUDPバインディングを無効にすることです。
この構成では、私が望む効果を得ることができますか?
答え1
memcachedのバージョンによって異なります。-l 127.0.0.1 -p 12111
唯一のオプションとして、memcachedはTCPおよびUDPポート11211(ただし、127.0.0.1のみをリッスン)をリッスンします。
これは、TCPまたはUDPバインディングを無効にし、システム内のすべてのユーザーが使用できる権限を設定する最も一般的な方法です。特定のユーザーだけがソケットにアクセスできるようにするには、後者を別の方法で微調整できます。
-s /tmp/memcached.sock
-a 666
一人当たりmemcached(1)...
-a <perms>
Permissions (in octal format) for Unix socket created with -s option.
-s <file>
Unix socket path to listen on (disables network support).
...他のすべてのオプションに関係なく-s
指定された場合、すべてのネットワークサポート(TCPおよびUDP)は無効になり、インターフェイスにバインドされません。仕様は-l 127.0.0.1 ... -s /tmp/memcached.sock
これらのオプションを許可しても少し誤解を招く可能性があります。
memcached ネットワークサポートをディセーブルにする別の方法は、ポート 0 でリスニングするように指示することです。
-p <num>
Listen on TCP port <num>, the default is port 11211.
-U <num>
Listen on UDP port <num>, the default is port 11211, 0 is off.
最新バージョンでは、-Uのデフォルト値は0(オフ)です。
一方、マニュアルページには明示的に言及されていませんが、たとえば-p 0
TCPを無効にすることも-l 127.0.0.1 -p 0 -U 0
機能しますが、ソケットパスが指定されていないと実際には機能しないため意味がありません。