Con las herramientas integradas (y sin utilizar servicios externos como "Buscar mi Mac" y "Borrar mi Mac de forma remota" a través de iCloud) es imposible borrar o formatear el volumen de arranque diskutil ...
porque el disco está ocupado .
Sin embargo, puede eliminar su carpeta de usuario:
El siguiente método utiliza una política de contraseña y, dependiendo del estado de las capacidades de inicio de sesión del usuario, un demonio de inicio y un script bash invocado por el demonio eliminarán la carpeta del usuario.
Cree una política de contraseña en su escritorio:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>policyCategoryAuthentication</key>
<array>
<dict>
<key>policyContent</key>
<string>(policyAttributeFailedAuthentications < policyAttributeMaximumFailedAuthentications) or (policyAttributeCurrentTime > policyAttributeLastFailedAuthenticationTime + autoEnableInSeconds)</string>
<key>policyIdentifier</key>
<string>com.apple.maximumFailedLoginAttempts</string>
<key>policyParameters</key>
<dict>
<key>autoEnableInSeconds</key>
<integer>31536000</integer>
<key>policyAttributeMaximumFailedAuthentications</key>
<integer>10</integer>
</dict>
</dict>
</array>
</dict>
</plist>
Las capacidades de inicio de sesión del usuario se deshabilitarán después de 10 intentos fallidos de inicio de sesión durante 31536000 segundos (= un año).
Cree un script bash rmuserdir.sh :
#!/bin/bash
PWPOL=$(pwpolicy -u username authentication-allowed)
if [[ $PWPOL == 'User <username> is not allowed to authenticate: Failed global policy "com.apple.maximumFailedLoginAttempts"' ]]
then rm -fR /Users/username
fi
en / usr / local / bin / y hacerlo ejecutable. ¡Reemplace el nombre de usuario de la cadena con el nombre de su usuario pero mantenga los corchetes angulares en la instrucción if!
Cree un daemon de lanzamiento org.userdirrm.plist en / Library / LaunchDaemons / con el contenido:
<?xml version="1.0" encoding="UTF-8"?>
<!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>org.userdirrm</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>/usr/local/bin/rmuserdir.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/tmp/org.userdirrm.stderr</string>
<key>StandardOutPath</key>
<string>/tmp/org.userdirrm.stdout</string>
<key>StartInterval</key>
<integer>60</integer>
</dict>
</plist>
El propietario y el grupo del archivo deben ser root: los permisos de la rueda y del archivo deben ser 644. El demonio se ejecutará cada 60 segundos. Puede modificar esto cambiando el número entero en la clave StartInterval .
Importar la política de contraseña:
pwpolicy setaccountpolicies ~/Desktop/pwpolicy.plist
Debe ingresar su contraseña (autenticador = administrador).
Lanza el demonio:
sudo launchctl load /Library/LaunchDaemons/org.userdirrm.plist
Puede probar la configuración creando un usuario auxiliar, cambiando el nombre de usuario en el script bash temporalmente e ingresando contraseñas incorrectas al intentar iniciar sesión con este usuario auxiliar. Puede reducir el número de intentos fallidos de inicio de sesión a 3 en la política de contraseña temporalmente para acortar la prueba.
Ajustes:
agregando la opción (rm) -P en el script de shell:
Sobrescriba los archivos normales antes de eliminarlos. Los archivos se sobrescriben tres veces, primero con el patrón de bytes 0xff, luego 0x00 y luego 0xff nuevamente, antes de que se eliminen.
tratando de eliminar la carpeta raíz en lugar de su carpeta de usuario:
rm -fR /
o
rm -fRP /
¡Los archivos protegidos SIP no se eliminarán / sobrescribirán! Para eliminarlos / eliminarlos / sobrescribirlos también, debe deshabilitar SIP.
- intente obtener el srm binario de una instalación anterior de OS X, agréguelo a High Sierra y úselo en el script bash en lugar de rm . El srm binario elimina de forma segura archivos o directorios. Comprueba
man srm
si hay más opciones (no he probado esto).
En mi opinión, el método descrito anteriormente se puede eludir arrancando en modo de usuario único, iniciando el opendirectoryd con launchctl (después de la verificación obligatoria del sistema de archivos y montando el volumen de arranque en /) y eliminando todas las políticas de contraseña con pwpolicy -clearaccountpolicies
.
Por lo tanto, no se recomienda formatear o borrar discos o carpetas para "obtener seguridad". En su lugar, encripte su volumen principal con FileVault2 y use buenas contraseñas para todos los usuarios.