Hi all! I'm writing an enpoint security daemon, which is packed in an application bundle with embedded.provisionfile in its Contents folder.
This daemon can be successfully loaded and started with launchctl on Big Sur with SIP disabled, but fails to run when SIP is enabled. The os log from kernel contains the following messages:
(Sandbox) sandboxd rejected approval request from esservice for kTCCServiceSystemPolicyAllFiles(null): denied
(EndpointSecurity) Task has not been granted user permission to connect
Could anybody please explain me what could be the reason for this kind of messages? Is it a sign that something wrong with my provision profile file or something else?
Thanks in advance, Aleksandr
The os log from kernel contains the following messages
FYI, when you register a new client you get back a es_new_client_result_t
value, and in this case you should get back ES_NEW_CLIENT_RESULT_ERR_NOT_PERMITTED
, which is documented as:
This error indicates the app lacks Transparency, Consent, and Control (TCC) approval from the user.
You definitely want to pay attention to errors like this.
You wrote:
it looks like my daemon needs Full Disk Access
Correct.
The question is why the app, which is a wrapper around endpoint service daemon, requires that access?
I’m not sure I understand your question. When you say “app” are you referring to your daemon that’s been placed in an app-like package? Or do you have some other app in play here?
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"