給定一個運行 Nginx 容器的 pod 和一個 PHP-FPM 容器,應用程式檔案權限的最佳實踐是什么?
目前我在容器之間共享一個卷,以便 Nginx 可以訪問 PHP 檔案。這可行,但檔案由www-dataFPM 容器中的用戶擁有,而 Nginx 容器中不存在該檔案,導致它們由具有相同 UID 的任何用戶擁有。
這顯然是錯誤的,但是什么是正確的呢?到目前為止我考慮過的選項:
- 檔案歸
nobody:nogroup - 為 Nginx 制作檔案副本,并將所有權分配給
nginx該容器中的用戶 - 對齊 UID
- 在同一個容器中運行 Nginx 和 FPM
這些似乎都不吸引人。
uj5u.com熱心網友回復:
這是 Kubernetes 中的安全背景關系的一個案例,您可以在其中為您的 pod 指定 uid、gid 或補充 gid (fsgroup)。
例如設定:
spec:
securityContext:
runAsUser: 1000
runAsGroup: 3000
fsGroup: 2000
將使您以用戶 1000 的身份運行,主要組 3000 和輔助組 2000。
您沒有指定是否需要兩個 pod 來編輯該卷中的檔案,如果不是這種情況 - 僅添加fsGroup應該足以為您的檔案提供只讀權限(默認情況下),而不會以任何有意義的方式影響您現有的作業負載大大地。
否則,您可以強制使用相同的 UID,但這可能需要您重新配置應用程式
另見:Kubernetes:如何正確設定 php-fpm 和 nginx 共享卷權限
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/415424.html
標籤:
