diff --git a/app.py b/app.py index 9eb1ddd..660a9aa 100644 --- a/app.py +++ b/app.py @@ -1209,15 +1209,15 @@ SYSCTL_AUDIT_KEYS = ( def _sysctl_audit_command() -> str: - script = f'''import glob, json -from pathlib import Path + script = f'''import glob, json, subprocess keys = {SYSCTL_AUDIT_KEYS!r} live, errors = {{}}, {{}} for key in keys: - try: - live[key] = Path("/proc/sys/" + key.replace(".", "/")).read_text().strip() - except OSError as exc: - errors[key] = str(exc)[:160] + result = subprocess.run(["sysctl", "-n", key], capture_output=True, text=True) + if result.returncode == 0: + live[key] = result.stdout.strip() + else: + errors[key] = result.stderr.strip()[:160] persistent = {{}} for path in ["/etc/sysctl.conf", *sorted(glob.glob("/etc/sysctl.d/*.conf"))]: try: