Ordlista/Processer du kommer att se

tccd

Andra namn: integritetsbehörigheter

Kort svar

tccd är processen i macOS som hanterar integritetsbehörigheter: vilka appar som får använda kameran, mikrofonen, skärminspelning, dina filer och mappar, kontakter, Full skivtillgång och Hjälpmedel. TCC står för Transparency, Consent and Control (öppenhet, samtycke och kontroll), systemet bakom varje fråga om att en app ”vill få åtkomst”.

Varje gång en app sträcker sig efter något skyddat frågar macOS tccd om det är tillåtet. tccd sparar svaren i en databas och visar frågan om behörighet när det inte finns något svar än. Det du slår på och av i Systeminställningar → Integritet och säkerhet är tccd:s databas.

Det finns två instanser: en för ditt eget konto och en för systemet. Båda är normalt overksamma och kostar nästan ingenting.

Varför tccd använder så mycket CPU

En app ber om en behörighet om och om igen, ofta för att den har nekats och fortsätter att försöka, eller för att den har uppdaterats och dess signatur inte längre stämmer med det tccd godkände. Behörigheterna för skärminspelning och Hjälpmedel är de vanliga.

Mer sällan är behörighetsdatabasen i dåligt skick efter en migrering eller en avbruten uppdatering, och tccd misslyckas hela tiden med att läsa den.

Så åtgärdar du det

Öppna Systeminställningar → Integritet och säkerhet, leta upp behörigheten appen behöver och stäng av och slå på den igen, eller ta bort appen från listan med minusknappen och låt den fråga igen.

För att återställa en behörighet för alla appar har Terminal tccutil reset följt av tjänstens namn, till exempel tccutil reset ScreenCapture. Apparna frågar igen nästa gång de behöver den.

Så ser du vilken app som hela tiden frågar tccd

När tccd är upptagen är den användbara frågan vem som frågar och om vad. Dess egen logg säger båda.

  1. Öppna Aktivitetskontroll, välj Innehåll → Alla processer och skriv tccd i sökfältet. Kolumnen Användare visar root för systeminstansen och ditt namn för din. Notera vilken som använder processorn.
  2. Öppna Terminal och kör log stream --predicate 'process == "tccd" AND eventMessage CONTAINS "AUTHREQ"'. Tryck på kontroll-C för att sluta.
  3. Läs raderna som upprepas. service= anger behörigheten, till exempel kTCCServiceScreenCapture, och identifier= anger appen, till exempel com.example.app.
  4. Titta på authValue= i resultatraderna. 0 betyder nekad och 2 betyder tillåten. En app som får 0 om och om igen är loopen.
  5. Återställ just den behörigheten för just den appen. Delen av tjänstnamnet efter kTCCService är det som tccutil förväntar sig, så tccutil reset ScreenCapture com.example.app rensar svaret för bara den appen. tccutil reset All com.example.app rensar alla behörigheter för den.
  6. Öppna appen igen och svara på dess fråga, eller ge behörigheten i Systeminställningar → Integritet och säkerhet.

Normal användning av tccd jämfört med ett problem

Normalt: nära noll, med en liten topp varje gång en app ber om något skyddat. Appar frågar ofta, men de flesta svar kommer från databasen på ett ögonblick.

Värt att undersöka: tccd ligger kvar i processorlistan i flera minuter i sträck, eller en behörighet du har gett frågar igen hela tiden. De vanliga orsakerna:

  • En app som har uppdaterats eller signerats om, så att tccd inte längre ser den som appen du godkände.
  • En app som du har nekat men som inte slutar fråga.
  • En behörighetsdatabas som inte flyttades över ordentligt vid en migrering.

Varför en behörighet du har gett inte fungerar

Vissa behörigheter börjar gälla först när appen startar. Skärminspelning och Full skivtillgång är de vanliga: när du slår på dem erbjuder macOS att avsluta och öppna appen igen. Om du väljer Senare fortsätter appen att köras som om den inte hade någon åtkomst tills du avslutar den själv.

Om reglaget är på och appen ändå inte kan använda funktionen efter att den har startats om, stänger du av reglaget, tar bort appen från listan med minusknappen och lägger till den igen. Det ersätter den gamla posten i tccd:s databas med en som stämmer med appen som den är nu.

Frågor som folk ställer

Vad är tccd på Mac?

Processen i macOS som hanterar integritetsbehörigheter, till exempel kamera, mikrofon, skärminspelning och filåtkomst. Den visar frågorna om behörighet och kommer ihåg dina svar.

Varför använder tccd mycket CPU?

Oftast ber en app om en behörighet gång på gång, ofta efter att en uppdatering har ändrat dess signatur. Om du ger behörigheten på nytt under Integritet och säkerhet, eller återställer den med tccutil, bryts loopen.

Är det säkert att återställa integritetsbehörigheter med tccutil?

Ja. Det rensar bara de sparade svaren för den behörigheten, så att apparna frågar igen. Inget annat tas bort, men du behöver godkänna de appar som behöver den på nytt.

Kan jag stänga av tccd?

Nej. Den är en del av macOS och skyddas av Systemintegritetsskydd, och utan den skulle ingen app kunna få eller nekas åtkomst till din kamera, mikrofon eller dina filer. Om du vill bli av med en fråga svarar du på den eller ändrar appens behörighet i Systeminställningar → Integritet och säkerhet.

Var finns TCC-databasen på Mac?

Dina egna behörigheter finns i ~/Library/Application Support/com.apple.TCC/TCC.db, och de som gäller hela systemet finns i samma sökväg under /Library. macOS skyddar båda filerna, så ändra behörigheter i Systeminställningar eller med tccutil i stället för att redigera dem.

Relaterat

Letar du efter något bättre än Aktivitetskontroll? Läs om de bästa alternativen till Aktivitetskontroll för Mac, eller bläddra bland alla begrepp i ordlistan.