| 741 | check_sysusers, |
| 742 | ); |
| 743 | fn check_sysusers(rootfs: &Dir, config: &LintExecutionConfig) -> LintResult { |
| 744 | let r = bootc_sysusers::analyze(rootfs)?; |
| 745 | if r.is_empty() { |
| 746 | return lint_ok(); |
| 747 | } |
| 748 | let mut msg = String::new(); |
| 749 | let header = "Found /etc/passwd entry without corresponding systemd sysusers.d"; |
| 750 | let items = r.missing_users.iter().map(|v| v as &dyn std::fmt::Display); |
| 751 | format_items(config, header, items, &mut msg)?; |
| 752 | let header = "Found /etc/group entry without corresponding systemd sysusers.d"; |
| 753 | format_items(config, header, r.missing_groups.into_iter(), &mut msg)?; |
| 754 | lint_err(msg) |
| 755 | } |
| 756 | |
| 757 | #[distributed_slice(LINTS)] |
| 758 | static LINT_NONEMPTY_BOOT: Lint = Lint::new_warning( |