Alle dingen die je noemt hebben geen root rechten nodig op macOS. Een applicatie kan zich bij macOS registreren als autostart en komt dan in je Login Items terecht; in uitzonderlijke gevallen kan je een launch agent of launch daemon installeren die start wanneer de user inlogt. De privacy opties die je noemt zijn allemaal beschikbaar voor rootless apps.
Het is ontzettend kwalijk dat Zoom een daemon installeert die altijd als root draait. Zelfs Apple's systeem services als WindowServer en zelfs userspace drivers draaien als een aparte, unprivileged, user waar mogelijk om zo de mogelijkheid voor een root privilege escalatie te verminderen. Dit is niet alleen een ding op macOS, maar ook op Linux en vziw zelfs Windows.
Ik zit niet in de security branch maar als ik dit zou moeten oplossen zou ik Zoom tijdens het starten naar updates laten zoeken en via tijdelijke privilege escalatie de update vervolgens installeren. Of nog beter; ervoor zorgen dat Zoom geen root permissie nodig heeft om geïnstalleerd te worden, zoals bijvoorbeeld Microsoft Teams, die is gewoon drag & drop op macOS.
macOS Ventura geeft je een melding wanneer een app een achtergrondproces (launch agent / launch daemon in launchd wereld) installeert; met dit soort praktijken juich ik dit heel erg toe.
Ook even uit je oude post, over userspace gesproken:
Je kan alles wel in userspace houden maar daar zitten ook nadelen aan.
Userspace is in simpele termen alles wat niet in de kernel draait, dus je haalt hier een begrip door elkaar. Wanneer een applicatie als Zoom een kernel extensie zou gaan installeren zouden bij mij in ieder geval alle alarmbellen af gaan. Zoom heeft
niets te zoeken in de kernel; alles is beschikbaar via userspace APIs middels Apple's frameworks.
Het is wel zo makkelijk een daemon te hebben voor zoom.
Nee, een auto-update
daemon is volledig overbodig. Frameworks als Sparkle bestaan die (in de meeste gevallen) zonder root rechten de applicatie kunnen vervangen. Een applicatie wordt in macOS in de /Applications map geïnstalleerd, en deze is standaard schrijfbaar door mensen in de `admin` groep, dus de administrator(s) van de Mac. LaunchServices pakt dan automatisch de applicatie mee in dingen als "Open with" en dergelijke. Dit beantwoordt ook meteen je vraag "hoe installeer je iets zonder root rechten".
Een daemon is een achtergrondproces; continu een proces actief hebben voor het draaien van updates is in geen enkele normale situatie nodig.
Maar ja, met externe installatie files werken voelt een beetje knudde, gewoon in de package manager rammen(als macos dat heeft)
De meeste installers op macOS zijn disk images die, wanneer je die opent, de applicatie bevatten om in je /Applications map te gooien. Soms met een plaatje en een shortcut erbij om dit duidelijk te maken. Applicaties die meer componenten moeten installeren worden wel eens als een .pkg geleverd die via Installer.app geopend worden; in dat geval vraagt Installer indien nodig tijdens de installatie voor extra rechten en heeft de applicatie dit zelf niet meer nodig.
De meeste applicaties die op deze manier worden geïnstalleerd downloaden een nieuw installatiebestand en hebben dan "even" root rechten nodig om te updaten. Zie bijvoorbeeld VMware Fusion.
gewoon de daemon het vanuit een root only folder dingen laten installeren.
Beetje de TLDR van mijn post: Ze moeten hetgeen wat root nodig heeft gewoon weghalen uit de app, dan kun je dit soort problemen ook niet krijgen.