()
| 328 | } |
| 329 | |
| 330 | func (pm *PolicyManager) save() error { |
| 331 | data, err := json.MarshalIndent(pm, "", " ") |
| 332 | if err != nil { |
| 333 | return err |
| 334 | } |
| 335 | |
| 336 | dir := filepath.Dir(pm.configPath) |
| 337 | if err := os.MkdirAll(dir, 0o700); err != nil { |
| 338 | return err |
| 339 | } |
| 340 | |
| 341 | // M1: Use restrictive permissions so only the owner can read security rules |
| 342 | return os.WriteFile(pm.configPath, data, 0o600) |
| 343 | } |
| 344 | |
| 345 | func (pm *PolicyManager) defaultRules() { |
| 346 | pm.Rules = []Rule{ |
no test coverage detected