Skip to content

Commit 3419a59

Browse files
committed
kea: T7281: Set folder permissions to expected 0750
1 parent 99b032b commit 3419a59

4 files changed

Lines changed: 15 additions & 4 deletions

File tree

python/vyos/template.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ def render(
155155
user=None,
156156
group=None,
157157
location=None,
158+
folder_permission=None
158159
):
159160
"""Render a template from the template directory to a file, raise on any errors.
160161
@@ -167,7 +168,7 @@ def render(
167168
"""
168169
# Create the directory if it does not exist
169170
folder = os.path.dirname(destination)
170-
makedir(folder, user, group)
171+
makedir(folder, user, group, folder_permission)
171172

172173
# As we are opening the file with 'w', we are performing the rendering before
173174
# calling open() to not accidentally erase the file if rendering fails

python/vyos/utils/file.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,12 @@
1616
import os
1717
from vyos.utils.permission import chown
1818

19-
def makedir(path, user=None, group=None):
19+
def makedir(path, user=None, group=None, permission=None):
2020
if os.path.exists(path):
2121
return
22-
os.makedirs(path, mode=0o755)
22+
if not permission:
23+
permission = 0o755
24+
os.makedirs(path, mode=permission)
2325
chown(path, user, group)
2426

2527
def file_is_persistent(path):

src/conf_mode/service_dhcp-server.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -565,6 +565,7 @@ def generate(dhcp):
565565
dhcp,
566566
user=user_group,
567567
group=user_group,
568+
folder_permission=0o750
568569
)
569570
if 'dynamic_dns_update' in dhcp:
570571
render(

src/conf_mode/service_dhcpv6-server.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,14 @@ def generate(dhcpv6):
282282
if not os.path.exists(lease_file):
283283
write_file(lease_file, '', user=user_group, group=user_group, mode=0o644)
284284

285-
render(config_file, 'dhcp-server/kea-dhcp6.conf.j2', dhcpv6, user=user_group, group=user_group)
285+
render(
286+
config_file,
287+
'dhcp-server/kea-dhcp6.conf.j2',
288+
dhcpv6,
289+
user=user_group,
290+
group=user_group,
291+
folder_permission=0o750
292+
)
286293
return None
287294

288295
def apply(dhcpv6):

0 commit comments

Comments
 (0)