mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-08-25 00:43:34 +00:00
The unified agent's Linux installer only offered the root profile, and the docs called non-root unsupported. That default is the most-cited reason security-conscious evaluators reject Pulse without trying it. install.sh gains --least-privilege: the service runs as a dedicated nologin pulse-agent system user with every existing hardening directive, no LXC-attach ambient capabilities, docker-group membership for socket reads, and refusal (not silent root fallback) on appliance platforms, non-systemd init systems, and --enable-commands. Optional --grant-smart and --grant-pct restore the only two collectors that need elevation through visudo-validated exact-command sudoers rules and root-owned wrappers the agent reaches via new absolute-path-only PULSE_SMARTCTL_PATH / PULSE_PCT_PATH overrides; the pct grant covers pct list and pct df only and can never widen into pct exec. --update preserves the profile and its grants by reading the installed unit. The agent now authors a privilege block in its report (effective root, service user, active helpers), carried through models into the fleet doctor as a descriptive field: Agent Doctor shows the profile and its helpers instead of presenting intentionally absent collectors as a fault, and a least-privilege agent can never be marked unhealthy on that evidence alone. |
||
|---|---|---|
| .. | ||
| account_roles.go | ||
| backup_in_progress_test.go | ||
| ceph_cluster_identity.go | ||
| ceph_pool_storage_test.go | ||
| concurrency_test.go | ||
| converters.go | ||
| converters_additional_test.go | ||
| converters_branchcov0718_test.go | ||
| converters_test.go | ||
| deepcopy.go | ||
| deepcopy_branchcov0724pm_test.go | ||
| deepcopy_clone_independence_w0716_coverage_test.go | ||
| deepcopy_test.go | ||
| disk_summary.go | ||
| disk_summary_test.go | ||
| docker_cpu.go | ||
| docker_cpu_test.go | ||
| host_transient_expiry_test.go | ||
| issue1639_pbs_collision_test.go | ||
| memory_availability_test.go | ||
| metrics_types.go | ||
| metrics_types_branchcov0724pm_test.go | ||
| metrics_types_test.go | ||
| models.go | ||
| models_collections_branchcov0716_test.go | ||
| models_core_branchcov0718_test.go | ||
| models_deepcopy_branchcov0716_test.go | ||
| models_frontend.go | ||
| models_frontend_branchcov0718_test.go | ||
| models_frontend_test.go | ||
| models_helpers_test.go | ||
| models_removed_hosts_branchcov0716_test.go | ||
| models_roles_branchcov0716_test.go | ||
| node_aliases_test.go | ||
| organization.go | ||
| organization_additional_test.go | ||
| profile_validation.go | ||
| profile_validation_additional_test.go | ||
| profile_validation_test.go | ||
| profiles.go | ||
| proxmox_guest_state.go | ||
| pve_node_identity_test.go | ||
| snapshot_provider.go | ||
| state_additional_test.go | ||
| state_docker_test.go | ||
| state_host_test.go | ||
| state_snapshot.go | ||
| state_snapshot_additional_test.go | ||
| state_snapshot_concurrency_test.go | ||
| state_snapshot_frontend_test.go | ||
| state_snapshot_merge_test.go | ||