昨晩はVPSの移転作業を行っていました。
その際に旧サーバから新サーバにpostfixとopendkimの設定を移植していたのですが、新サーバでのopendkimの設定にハマりまくったので解決策を書いておきます。
旧サーバ作るときには同じ問題は起こらなかったんですけどね・・。
まず出たエラーの内容は
can't load key from /etc/opendkim/keys/example.com/default.key: Permission denied xxxxxxx opendkim[2582]: 440E5806CC: error loading key 'default._domainkey.example.com'
まぁそーなんだ。って思うじゃないですか。
ちゃんと設定やってんけどな~。と思いながら見直すも、所有権は所有者とグループともにopendkimになってるし、パーミッションは600だから読めないってことはないだろ?て思いながら744とかにしてみたりしながら様子を見ていたんですが、問題が解決しない。
どうパーミッションを設定すればいいのかわからね~!とこの辺で思い始めます。
ネットで調べると、キーファイルに実行権限が必要(な場合がる?)だとか、SELinuxが有効になっているとエラーが出るぞとか書いてある。なお、今回SELinuxは元からDisabledになっているんで関係なし。
もういっそのことフルでパーミッション与えてやるよ!と、777に設定をしたら今度は
Starting OpenDKIM: opendkim: /etc/opendkim.conf: /etc/opendkim/keys/example.com/default.keycan be read or written by other users opendkim.
とかエラーが出るんですよ。ザッケンナコラーですわ。いやまぁ言いたいことはわかるけどね??
で、最終的にどうしたかというと、キーファイルのパーミッション緩くした上でopendkim.confに以下の行を書き足しました。
RequireSafeKeys false
取り合えず動いた!
いや、良くない対処なのはわかってますけどね?とりあえずの対応です、はい。
リスクを分かっている人のみ参考にしてください。取り合えず他人と共用のサーバとかでは使わないように(今どきそんなのあるのか知らんけど)。
Photo by Taylor Vick on Unsplash
コメント
RequireSafeKeys falseを書いただけだとエラーメッセージは出続けるんですよね。
キーのパーミッションは600が正解です。