diff options
author | Christian Breunig <christian@breunig.cc> | 2023-07-12 00:23:28 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-12 00:23:28 +0200 |
commit | 7b68812cd775226c3a05c3dbca75343362bef1f4 (patch) | |
tree | df6b9a8b849e6d29e77e26c8449279919c6106fa | |
parent | 484259af7d2530601faacf7ad741523c5f93622a (diff) | |
parent | 01c47cf00572cd3037845a3dd7a6de3a649cf62c (diff) | |
download | vyos-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
-rw-r--r-- | python/vyos/config_mgmt.py | 27 |
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) |