From c7145b61a11f4658ad7b4c95c862de5d2765956b Mon Sep 17 00:00:00 2001 From: bybai Date: Mon, 22 Apr 2019 05:00:58 -0400 Subject: [PATCH] improved --- xCAT-server/lib/xcat/plugins/ddns.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/xCAT-server/lib/xcat/plugins/ddns.pm b/xCAT-server/lib/xcat/plugins/ddns.pm index 6a7135157..0b7b272b5 100644 --- a/xCAT-server/lib/xcat/plugins/ddns.pm +++ b/xCAT-server/lib/xcat/plugins/ddns.pm @@ -206,6 +206,7 @@ sub process_request { $callback = shift; my $oldmask = umask(0007); my $ctx = {}; + my $permissionmode; my @nodes = (); my $hadargs = 0; my $allnodes; @@ -777,6 +778,8 @@ sub process_request { #We manipulate local namedconf $ctx->{dbdir} = get_dbdir(); $ctx->{zonesdir} = get_zonesdir(); + #backup named directory permission + $permissionmode = (stat($ctx->{dbdir}))[2] & 07777; chmod 0775, $ctx->{dbdir}; # assure dynamic dns can actually execute against the directory if ($::VERBOSE) { @@ -918,7 +921,10 @@ sub process_request { unless ($ret) { xCAT::SvrUtils::sendmsg("DNS setup is completed", $callback); } - chmod 0750, $ctx->{dbdir}; + #restore named directory permission + if (defined($permissionmode)) { + chmod $permissionmode, $ctx->{dbdir}; + } umask($oldmask); }