Catalina - find: .: Operation von launchAgent nicht erlaubt

Ich habe einen Startagenten erstellt, der den Befehl find verwendet, um im Download-Ordner eines Benutzers zu suchen

files_to_remove=(`cd ~/Downloads/ && find . \( -name "*.csv" -or -name "*.pdf" -or -name "*.sav" -or -name "*.tsv" -or -name "*.zip" -or -name "*.qsf" \) -mtime +5`)

Hier ist die plist-Datei, die ich dem LaunchAgents-Ordner mit einem 10-Sekunden-Intervall hinzugefügt habe, um beim Debuggen zu helfen.

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
        <string>local.downloadsCleanup</string>
        <key>Program</key>
        <string>/Library/Application Support/downloadsCleanup/downloadsCleanup.sh</string>
        <key>RunAtLoad</key>
        <true/>
        <key>StandardErrorPath</key>
        <string>/tmp/downloadsCleanup.err</string>
        <key>StandardOutPath</key>
        <string>/tmp/downloadsCleanup.out</string>
        <key>StartInterval</key>
        <integer>10</integer>
    </dict>
</plist>

Jedes Mal, wenn der LaunchAgent ausgeführt wird, wird der Fehler angezeigt find: .: Operation not permitted . Beim Ausführen des /Library/Application Support/downloadsCleanup/downloadsCleanup.shSkripts vom Terminal werde ich jedoch aufgefordert, dem Terminal die Erlaubnis zu erteilen, auf den Download-Ordner zuzugreifen. Sobald die Berechtigung erteilt wurde, funktioniert das Skript wie vorgesehen.

Ich habe die .plist-Datei und das .sh-Skript hinzugefügt, um vollen Festplattenzugriff zu haben, aber das hat nichts geändert. Was benötige ich, um diesem LaunchAgent Zugriff zu gewähren, damit er den Find-Befehl im Download-Ordner ausführen kann?

Antworten (1)

Ja, müssen Sie verwenden

Systemeinstellungen -> Sicherheit und Datenschutz -> Datenschutz -> Dateien & Ordner

Oder vielleicht können Sie dort für das letzte Element "Full Disk Access" angeben.

Gewähren Sie /bin/bash Zugriff, und es sollte funktionieren.

Ich habe /bin/sh zu "Full Disk Access" hinzugefügt und es hat funktioniert! Danke!
Ich sehe /bin/sh hier nicht aufgelistet. Was soll ich machen?