fix: /etc/msmtprc の権限を0600から0644に修正 (v8.5.6-g)
Helm Chart Release / release-chart (push) Successful in 5s
Helm Chart Release / release-chart (push) Successful in 5s
v8.5.6-f でSMTPパスワードファイルの権限は修正したが、 起動スクリプトが chmod 600 していた /etc/msmtprc 自体も rootのみ読み取り可のままで、PHP-FPMワーカー(www-data等)から 読めず 'msmtp: account default not found' (exit:78) で失敗していた。 chmod 644 に変更。msmtprc には実パスワードは含まれない (passwordeval経由で別ファイルから取得する設計)ため実害なし。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
# Changelog - Version 8.5.6-g
|
||||
|
||||
## 修正
|
||||
|
||||
### /etc/msmtprc をPHP-FPMワーカーから読めない問題を修正
|
||||
|
||||
v8.5.6-f で `/etc/smtp-secrets/password`(SMTPパスワード)の権限を修正しましたが、
|
||||
`/etc/msmtprc` 自体にも同様の問題が残っており、以下のエラーでメール送信が失敗していました。
|
||||
|
||||
```
|
||||
ignoring system configuration file /etc/msmtprc: Permission denied
|
||||
ignoring user configuration file /home/www-data/.msmtprc: No such file or directory
|
||||
falling back to default account
|
||||
msmtp: account default not found: no configuration file available
|
||||
exit:78
|
||||
```
|
||||
|
||||
**原因**: 起動スクリプト(rootで実行)が `/etc/msmtprc` を作成した後、`chmod 600` していたため、
|
||||
PHP-FPMワーカー(`www-data` 等の非root)から読めませんでした。
|
||||
|
||||
**対応**: `templates/deployment.yaml` の `chmod 600 /etc/msmtprc` を `chmod 644` に変更しました。
|
||||
`msmtprc` には実パスワードは含まれず(`passwordeval` で別ファイルから取得する設計)、
|
||||
ホスト名・ポート・ユーザー名などの設定のみのため、読み取り権限を広げても実害はありません。
|
||||
|
||||
## アップグレード手順
|
||||
|
||||
```bash
|
||||
helm repo update
|
||||
helm upgrade <リリース名> cafepieters/phpfpm --version 8.5.6-g -f values.yaml
|
||||
```
|
||||
|
||||
Pod再起動後、SMTP経由のメール送信が正常に動作するようになります。
|
||||
|
||||
### 動作確認
|
||||
|
||||
```bash
|
||||
kubectl exec -n <namespace> <pod> -c php-fpm -- su -s /bin/sh www-data -c \
|
||||
'printf "To: test@example.com\r\nFrom: noreply@example.com\r\nSubject: test\r\nMIME-Version: 1.0\r\nContent-Type: text/plain; charset=UTF-8\r\n\r\nbody\r\n" | /usr/bin/msmtp -t --debug; echo "exit:$?"'
|
||||
```
|
||||
|
||||
`exit:0` で成功です。
|
||||
|
||||
---
|
||||
|
||||
**リリース日**: 2026-07-19
|
||||
**担当**: プロサーバーエンジニア(Claude)
|
||||
@@ -22,6 +22,12 @@ Raspberry Pi などのベアメタルで稼働することを想定した、Kube
|
||||
|
||||
## チャート改修履歴
|
||||
|
||||
### /etc/msmtprc の権限を0600→0644に修正(2026-07-19, v8.5.6-g)
|
||||
|
||||
v8.5.6-f のフォローアップ。`/etc/smtp-secrets/password` の権限修正だけでは不十分で、起動スクリプトが `cp` 後に `chmod 600` していた `/etc/msmtprc` 自体もrootのみ読み取り可のままだった(msmtp: account default not found, exit:78)。`chmod 644` に変更。msmtprcには平文パスワードは含まれない(passwordeval経由で別ファイル参照)ため実害なし。
|
||||
|
||||
**対象ファイル**: `templates/deployment.yaml`, `Chart.yaml`, `CHANGELOG-8.5.6-g.md`
|
||||
|
||||
### SMTPパスワードSecretの権限を0600→0644に修正(2026-07-19, v8.5.6-f)
|
||||
|
||||
`smtp-secrets` ボリュームの `mode: 0600` が原因で、rootではなく `www-data`(PHP-FPMワーカー)として動く msmtp が `/etc/smtp-secrets/password` を読めず、SMTP認証に失敗する不具合を修正。`0644` に変更(Pod内にしか存在しないファイルのため許容範囲)。
|
||||
|
||||
+1
-1
@@ -2,6 +2,6 @@ apiVersion: v2
|
||||
name: phpfpm
|
||||
description: Nginx + PHP-FPM Helm Chart with external DB and optional Selenium support
|
||||
type: application
|
||||
version: 8.5.6-f
|
||||
version: 8.5.6-g
|
||||
appVersion: "8.5.6"
|
||||
icon: https://upload.wikimedia.org/wikipedia/commons/thumb/2/27/PHP-logo.svg/330px-PHP-logo.svg.png
|
||||
|
||||
@@ -179,8 +179,12 @@ spec:
|
||||
echo "Configuring SMTP for mail sending..."
|
||||
|
||||
# msmtprc設定ファイルをコピー
|
||||
# msmtpはPHP-FPMワーカー(www-data等の非root)から実行されるため、
|
||||
# rootが作成するこのファイルも読み取り可にする必要がある
|
||||
# (実パスワードはpasswordeval経由で別ファイルから取得するため、
|
||||
# msmtprc自体に平文パスワードは含まれない)
|
||||
cp /etc/smtp-config/msmtprc /etc/msmtprc
|
||||
chmod 600 /etc/msmtprc
|
||||
chmod 644 /etc/msmtprc
|
||||
|
||||
# PHP設定をphp.ini.d/に作成
|
||||
cat > /usr/local/etc/php/conf.d/99-smtp.ini << 'PHP_SMTP_EOF'
|
||||
|
||||
Reference in New Issue
Block a user