Tengo un script que copia un archivo de nuestro servidor a la máquina local. Aquí está el script y la salida
+ date
Thu Jun 11 09:16:00 ACST 2020
+ id -un
root
+ pwd
/Volumes/Macintosh HD/backups
+ mkdir /Volumes/Server_auto
+ /sbin/mount_smbfs smb://User:password@Server/General /Volumes/Server_auto
+ ls /Volumes
Macintosh HD
Server_auto
+ ls /Volumes/Server_auto
ls: Server_auto: Operation not permitted
En última instancia, quiero
cp -f /Volumes/Server_auto/Backups/Web/db_6_1500.zip ./db.zip
pero creo que si al menos puedo conseguir un listado en el directorio, la copia probablemente funcionará.
Puedo sudo
este script desde el terminal y se ejecuta sin problemas. Lleva varios años funcionando desde cron
sin problemas, sólo después de actualizar a Catalina han empezado los problemas.
He intentado
- añadiendo
cron
,ls
ymount_smbfs
a la lista de acceso a disco completo - mover el trabajo a un archivo plist en la carpeta LaunchDaemons
Todo funciona bien, excepto la operación de copia. El comportamiento es idéntico en cron
o plist/launchd
.
Esto es claramente un problema de SIP. Antes de añadir cron a la lista de Privacidad 'Acceso total al disco', recibía el mismo mensaje de error cuando se iniciaba el trabajo cron.
Ahora, está bloqueando por completo el recurso compartido SMB externo, pero no sé por qué ni qué permiso conceder para que funcione. La misma secuencia exacta de operaciones, cuando se ejecuta manualmente como root
y que siempre tenga éxito.
¿Alguna idea?