summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2023-07-12 00:23:28 +0200
committerGitHub <noreply@github.com>2023-07-12 00:23:28 +0200
commit7b68812cd775226c3a05c3dbca75343362bef1f4 (patch)
treedf6b9a8b849e6d29e77e26c8449279919c6106fa /python
parent484259af7d2530601faacf7ad741523c5f93622a (diff)
parent01c47cf00572cd3037845a3dd7a6de3a649cf62c (diff)
downloadvyos-1x-7b68812cd775226c3a05c3dbca75343362bef1f4.tar.gz
vyos-1x-7b68812cd775226c3a05c3dbca75343362bef1f4.zip
Merge pull request #2086 from jestabro/config-archive
config-mgmt: T5347: set logrotate conf permissions correctly for system update
Diffstat (limited to 'python')
-rw-r--r--python/vyos/config_mgmt.py27
1 files changed, 14 insertions, 13 deletions
diff --git a/python/vyos/config_mgmt.py b/python/vyos/config_mgmt.py
index 26114149f..e1870aa0a 100644
--- a/python/vyos/config_mgmt.py
+++ b/python/vyos/config_mgmt.py
@@ -21,6 +21,8 @@ import logging
from typing import Optional, Tuple, Union
from filecmp import cmp
from datetime import datetime
+from textwrap import dedent
+from pathlib import Path
from tabulate import tabulate
from vyos.config import Config
@@ -456,19 +458,18 @@ Proceed ?'''
return ConfigTree(c)
def _add_logrotate_conf(self):
- conf = f"""{archive_config_file} {{
- su root vyattacfg
- rotate {self.max_revisions}
- start 0
- compress
- copy
-}}"""
- mask = os.umask(0o133)
-
- with open(logrotate_conf, 'w') as f:
- f.write(conf)
-
- os.umask(mask)
+ conf: str = dedent(f"""\
+ {archive_config_file} {{
+ su root vyattacfg
+ rotate {self.max_revisions}
+ start 0
+ compress
+ copy
+ }}
+ """)
+ conf_file = Path(logrotate_conf)
+ conf_file.write_text(conf)
+ conf_file.chmod(0o644)
def _archive_active_config(self) -> bool:
mask = os.umask(0o113)