Bind
如何防止綁定動態更新更改原始區域文件?
我正在使用 certbot DNS 外掛來頒發 Let’s Encrypt 證書。Certbot 使用動態 DNS 更新來添加
TXT
記錄以進行驗證。Bind 為區域創建一個.jnl
文件。該TXT
記錄僅存在 30 秒,然後被 certbot 刪除。該過程完成後,一切都應該恢復正常。副作用是 bind 過度寫入我的原始區域文件(由 擁有
root
)並將其保存為歸named
. 加上區域文件的內容以我不喜歡的方式完全重新格式化。有沒有辦法阻止綁定嘗試更改原始區域文件?有什麼方法可以告訴綁定這個動態更新是臨時的,只保存在記憶體中還是什麼?
還有一個問題,但不是那麼重要。如果它無法在
.jnl
沒有所有權的情況下保存文件,它如何綁定給出權限被拒絕錯誤named
,但它可以輕鬆覆蓋由 擁有的區域文件root
?
一旦您使用動態 DNS,您不應該期望您的 zonefile 採用任何特定格式並讓 bind 管理它。這就是為什麼你有
rndc
命令freeze
和thaw
.在您的情況下,您應該拆分關注點。
_acme-challenge
在您的區域中創建,以CNAME
將其指向另一個區域。然後這個區域可以沒有動態更新,你可以按照你喜歡的方式擁有你的區域文件。在另一個區域中,您啟用動態更新並確保
TXT
在那裡添加記錄。但它可以輕鬆覆蓋root擁有的區域文件?
編輯(包括刪除)文件的權限取決於文件所在的目錄所有權/權限,而不是文件本身的權限。想像一個目錄開始一個文件,其內容是其中的文件列表……