Am următoarea definiție de zonă:
zona „madetoorder.software” {
tip master;
fișierul „/var/lib/bind/example.com.zone”;
allow-transfer { servere-de-încredere; };
numele de verificare avertizează;
update-policy {
acorda local-ddns zonesub orice;
acordați letsencrypt_wildcard. nume _acme-challenge.example.com. TXT;
};
dimensiune max-jurnal 2M;
};
După cum se arată, este de așteptat să îmi permită să adaug și să elimin subdomenii (alias foo.example.com) folosind nactualizare. Am încercat următoarele, dar primesc un NOTAUTH eroare:
$ sudo nsupdate
> local 165.232.146.181
> zone madetoorder.software
> actualizare șterge ve-vlc.madetoorder.software.
> trimite
NOTAUTH
> actualizați adăugați ve-vlc.madetoorder.software. 60 A 165.232.146.181
> trimite
NOTAUTH
> renunta
După cum putem vedea, trimite comanda eșuează cu a NOTAUTH.
stiu local-ddns cheia este încărcată cu succes de când am încercat fără sudo Primesc următoarea eroare:
$ nsupdate -l
19-apr-2022 21:50:16.831 deschis: //run/named/session.key: permisiunea refuzată
nu pot citi cheia din //run/named/session.key: permisiunea refuzată
Privind fișierul, arată ca o cheie validă.Exact așa cum era de așteptat.
De asemenea letsencrypt modificări la un lucru de teren TXT conform așteptărilor. Deci, ce este greșit în:
acordă local-ddns zonesub orice
Notă:
După cum se arată în definiția zonei, fișierul .zone se află sub /var/lib/bind. Și directorul este deținut de rădăcină:bind cu permisiuni -rwxrwxr-x. Fișierul în sine are permisiuni -rw-------. Asa de numit (care rulează ca lega) are acces la fișiere.