ฉันมีคำจำกัดความโซนต่อไปนี้:
โซน "madetoorder.software" {
พิมพ์ต้นแบบ;
ไฟล์ "/var/lib/bind/example.com.zone";
อนุญาตการโอน { เซิร์ฟเวอร์ที่เชื่อถือได้; };
เช็คชื่อเตือน;
อัปเดตนโยบาย {
ให้สิทธิ์ local-ddns zonesub ใด ๆ
ให้สิทธิ์ letsencrypt_wildcard ชื่อ _acme-challenge.example.com txt;
};
ขนาดวารสารสูงสุด 2M;
};
ดังที่แสดงไว้ คาดว่าจะอนุญาตให้ฉันเพิ่มและลบโดเมนย่อย (หรือที่รู้จักในชื่อ foo.example.com
) โดยใช้ อัพเดท
. ฉันลองต่อไปนี้ แต่ฉันได้รับ ใบรับรอง
ข้อผิดพลาด:
$ sudo nsupdate
> ท้องถิ่น 165.232.146.181
> โซน madetoorder.software
> อัปเดต ลบ ve-vlc.madetoorder.software
> ส่ง
ใบรับรอง
> อัปเดตเพิ่ม ve-vlc.madetoorder.software 60 ก 165.232.146.181
> ส่ง
ใบรับรอง
> เลิก
อย่างที่เราเห็นกันว่า ส่ง
คำสั่งล้มเหลวด้วย a ใบรับรอง
.
ฉันรู้ว่า ddns ท้องถิ่น
โหลดคีย์สำเร็จตั้งแต่เมื่อฉันลองโดยไม่ใช้ ซูโด
ฉันได้รับข้อผิดพลาดต่อไปนี้:
$ nsupdate -l
19-เม.ย.-2565 21:50:16.831 เปิด: //run/named/session.key: สิทธิ์ถูกปฏิเสธ
ไม่สามารถอ่านคีย์จาก //run/named/session.key: สิทธิ์ถูกปฏิเสธ
เมื่อดูที่ไฟล์ดูเหมือนว่าจะเป็นรหัสที่ถูกต้องตามที่คาดไว้
อีกทั้ง ให้เข้ารหัส
การเปลี่ยนแปลงฟิลด์ TXT ทำงานได้ตามที่คาดไว้ มีอะไรผิดปกติใน:
ให้สิทธิ์ local-ddns zonesub ใด ๆ
บันทึก:
ดังที่แสดงในนิยามโซน ไฟล์ .zone อยู่ภายใต้ /var/lib/ผูก
. และไดเร็กทอรีเป็นของ ราก: ผูก
ด้วยสิทธิ์ -rwxrwxr-x
. ไฟล์นั้นมีสิทธิ์ -rw-------
. ดังนั้น ชื่อ
(ซึ่งทำงานเป็น ผูก
) สามารถเข้าถึงไฟล์