Come concedo l'accesso root ai file utente in Mojave?

3

Ho aggiornato il mio laptop a Mojave. Per anni, la mia strategia di backup ha incluso l'utilizzo di rsync (MacPorts rsync 3.1.3) per copiare i file su un file server. Questo ha smesso di funzionare correttamente, ora mostra alcuni errori che indicano problemi di autorizzazione con opendir e get_xattr_data , in particolare con certe cartelle ~/Library .

Uso launchd per eseguire rsync all'interno di uno script situato in /usr/local/bin .

Come parte della mia risoluzione dei problemi, sono passato a Terminal e su 'da root. Quindi cd 'd ~/Library del mio utente e accesso verificato in alcune delle cartelle. Il sistema ha riportato permission denied .

Attraverso sicurezza e amp; Privacy, ho dato rsync Full Disk Access, ma questo non ha risolto il problema.

Suppongo che si tratti di un problema derivante dalle impostazioni di sicurezza o privacy di Mojave poiché non ho mai visto root non avere il permesso per i file. Per riprendere i miei processi di backup, ho bisogno di root / launchctl per poter accedere ai file.

Che cosa è cambiato in Mojave che limita l'accesso di root ? Come faccio a mitigare questa limitazione in relazione a rsync ?

Il possibile duplicato sembra confermare la necessità di regolare le impostazioni in Sicurezza e amp; Privacy, ma finora l'aggiunta di Terminal e rsync all'elenco di app consentite non consente il successo del backup. Sto lavorando per aggiungere lo script che uso per eseguire il backup e correggerò la mia domanda quando avrò verificato.

    
posta tim.rohrer 09.10.2018 - 04:10
fonte

2 risposte

3

Come documentato in questo post tra altri luoghi, MacOS Mojave implementa protocolli di sicurezza aggiuntivi che influiscono anche su root's di accesso ai dati dell'utente.

La soluzione nella domanda collegata fornisce il metodo di base che ho usato per risolvere il mio problema.

Per gli script personalizzati che verranno eseguiti in launchd , l'amministratore del computer su cui deve essere eseguito lo script deve aggiungere lo script a Security & Privacy per concedere a tale autorizzazione "app" di accedere ai dati dell'utente.

Era non necessario per aggiungere launchd o rsync (nel mio caso) a Security & Privacy .

Non ho studiato se esiste un modo per farlo tramite Terminal, che a quanto pare sarebbe necessario per chi gestisce un numero elevato di client.

========

Aggiornamento: ho anche appreso che se si aggiunge uno script e successivamente si apportano modifiche a tale script, è necessario eliminarlo da Security & Privacy - > Full Disk Access , quindi aggiungerlo di nuovo. Forse macOS crea un hash che viene controllato?

    
risposta data 15.10.2018 - 17:51
fonte
1

Non è una risposta al tuo problema, ma è molto simile / correlato ...

Quando scrivi uno script di shell eseguito da cron , ad es. utilizzando rsync in uno script per eseguire il backup dei tuoi file su un altro server.

Noterai che l'aggiunta di "Terminal.app" al "Full Disk Access" non funziona, perché cron non usa "Terminal.app".

Potresti concedere l'accesso "Accesso completo al disco" al programma rsync , e questo risolve alcuni dei problemi di autorizzazione, ma questo non è sufficiente se hai bisogno di accedere a:

~ / Immagini / Foto Library.photoslibrary ~ / Library / Application Support / AddressBook

Invece, dovresti aggiungere cron a "Preferenze di Sistema > Sicurezza e privacy > Accesso completo al disco".

L'ho fatto eseguendo open /usr/bin/ , che ha aperto una finestra del Finder che mi permetteva di trascinare / rilasciare facilmente il programma cron nell'elenco "Full Disk Access".

    
risposta data 19.12.2018 - 13:43
fonte

Leggi altre domande sui tag